APP自动化搭建与应用

news2024/12/26 10:41:47

APP自动化环境搭建

用于做APP端UI自动化,adb连接手机设备。
需要的工具java编辑器:jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer
第一步:安装sdk,里面包含建立工具build-tools 、拓展的附加包extras、安装下载的所有Android平台platform-tools、开发工具tools。安装之后在电脑设置找到高级系统设置-环境变量,用户变量名ANDROID_HOME,变量值填入sdk文件夹的路径。然后添加环境变量,在路径下添加四个工具包路径和build-tools里的android-4.4W文件夹路径。添加%ANDROID_HOME%\tools.
第二步:安装appium软件,,找到应用程序创建桌面快捷方式,在pycharm下安装或dos下在线安装 python操作客户端(dos窗口下安装)。dos使用命令:pip install Appium-Python-Client==1.0.2
第三步:安装node.js。在dos中查看版本,命令node -v,然后app自动化测试环境检查:appium-doctor
第四步:安装夜神模拟器并创建桌面快捷方式。
第五步:用dos连接模拟器adb connect 127.0.0.1:62001,服务地址在appium应用查看。
第六步:安装apk包。adb install +包名的绝对路径,apk包就下载到模拟器中了。
第七步:查看包名和活动路径名:aapt d badging 包名的绝对路径。(卸载安装包:adb uninstall com.baidu.yuedu)(adb shell pm list packages 查看已安装的应用,查找第三方包)( adb shell pm list packages -3 查看第三方已安装的应用)(adb devices 查看当前连接设备)(adb shell 进入到shell ctrl+c 退出 )(adb logcat 查看日志 ctrl+c 退出)(windows往手机上sdk传递文件:格式:adb push 文件路径/文件名 手机存放的位置)(手机往本地传递文件:
格式:adb pull 手机文件路径/手机文件 本地文件路径)(截图:格式: adb shell screencap -p 文件/图片.后缀名)(启动adb server 命令:adb start-server)(停止adb server 命令 adb kill-server )(adb disconnect 断开无线连接)

实战流程:

1.打开模拟器、appium、uiautomatorviewer
2.dos中连接appium;adb connect 127.0.0.1:62001
3.安装apk测试包:adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
4.appium勾选override existing session,右上角启动appium
5.用uiautomatorviewer定位插件,打开,点击左上角获取页面元素,查看定位
6.xpath没有的话更换jar插件,将新的jar包放在sdk\tools\lib和sdk\platforms\android-20 下,重新启动应用
7.在模拟器中查看平台系统、平台版本和设备名称,在dos中获取apk包名和活动路径名,在appium中查看服务地址,打开pycharm输入要执行的自动化代码,点击运行

一、app自动化测试环境和用途:

主要用于做app端UI自动化,熟悉adb命令(a表示安卓,d表示debug,b表示桥)
adb是连接手机设备

二、搭建环境的工具

(1)jdk 已安装的省略这步,java的一种编译器 (本地windows安装)
jdk安装和配置环境变量
在这里插入图片描述
(2)查看jdk版本
在dos中输入java -version查看1.8.0_60

(3)android-sdk 软件开发工具组,里面存放一些类和函数
在这里插入图片描述
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk
在这里插入图片描述
(3)appium-python-client appinm的python的客户端
在这里插入图片描述
在这里插入图片描述

(4)nodes.js
在这里插入图片描述

(5)模拟器(夜神模拟器和逍遥模拟器)
在这里插入图片描述

(6)apk包、抓取软件
在这里插入图片描述

app环境的搭建

1、安装sdk

第一步:装sdk
详解:SDK (Software Development Kit)翻译成中文就是"软体开发工具组"
是用来帮一个产品或平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。
通常是 某一家厂商针对某一 平台 或 系统 或 硬体 所发布出来用以开发应用程式的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。给 Android平台 使用的 Android SDK 就是用来开发 Android系统上面的应用程式。
sdk存放了类,函数
SDK下包的说明:
1、:build-tools :建立工具
2、:extras:扩展的附加包
3、:platforms:安装下载的所有Android平台,分版本存放
4、:platform-tools:平台相关的工具
5、:tools:应用Android平台进行开发所需要的一些开发工具
(1)步骤:打开sdk:
(2)查看sdk下文件夹
(3)添加环境变量
点击电脑右键-高级系统设置-环境变量
变量名:ANDROID_HOME
变量值:sdk安装的路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk
在这里插入图片描述

在path下添加路径:
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\build-tools
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platforms
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools

在这里插入图片描述

安装appium

在这里插入图片描述
在这里插入图片描述
pycharm下安装或dos下在线安装 python操作客户端(dos窗口下安装)
pip install Appium-Python-Client==1.0.2
在这里插入图片描述

安装nodes.js

在这里插入图片描述

dos查看版本node -v

在这里插入图片描述

app自动化测试环境检查:appium-doctor
在这里插入图片描述

安装模拟器(讲课用夜神:62001)

在这里插入图片描述

安装好夜神模拟器创建快捷方式

在这里插入图片描述
在这里插入图片描述

adb 命名(重点)

(1)adb connect 127.0.0.1:62001 连接模拟器设备
在这里插入图片描述
(2)模拟器的端口号
夜神模拟器 端口号 :62001
海马玩模拟器 端口号:26944
mumu模拟器端口号:7555
天天模拟器 端口号:6555
(3)adb install +包名的绝对路径 安装apk包
案例:adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
“D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)活动路径名:

查询包名或活动路径名:aapt d badging D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
包名:
在这里插入图片描述
活动路径名:
在这里插入图片描述

(5)adb uninstall 包名:
包名name=‘com.baidu.yuedu’
卸载安装包:adb uninstall com.baidu.yuedu
在这里插入图片描述
(6)adb shell pm list packages 查看已安装的应用,查找第三方包

adb shell pm list packages -3 查看第三方已安装的应用
在这里插入图片描述
在这里插入图片描述
(7)adb devices 查看当前连接设备
在这里插入图片描述
(8)adb shell 进入到shell
在这里插入图片描述
ctrl+c 退出
(9)adb logcat 查看日志
在这里插入图片描述
ctrl+c 退出
(10)windows往手机上sdk传递文件:
格式:adb push 文件路径/文件名 手机存放的位置
案例:adb push E:\bb.txt /data
sdk文件
在这里插入图片描述
本地存放的文件路径–模拟器上的路径在这里插入图片描述
在这里插入图片描述

(11)手机往本地传递文件:
格式:adb pull 手机文件路径/手机文件 本地文件
案例:adb pull /data/bb.txt E:\
从模拟器上拉取文件到本地
在这里插入图片描述
(12)截图:
格式: adb shell screencap -p 文件/图片.后缀名
案例:adb shell screencap -p /data/user/j.png
在这里插入图片描述
在这里插入图片描述
(13)启动adb server 命令:
adb start-server
(14)停止adb server 命令
adb kill-server
(15)adb disconnect 断开无线连接

app自动化实战运用

一、打开模拟器

二、cmd中打开dos命令连接appium

adb connect 127.0.0.1:62001

三、安装测试包

adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
下载好的jdk通过jenkins打包,通过URL或链接下载
在这里插入图片描述

四、打开appium

勾选session关闭,启动按钮开启appium
在这里插入图片描述
在这里插入图片描述
五、( 定位元素没有xpath的就删除原有uiautomatorviewer.bat,替换成新的)

开始定位,定位插件

“D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools\uiautomatorviewer.bat”
在这里插入图片描述
创建快捷方式
在这里插入图片描述

六、打开,连接获取页面元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、更换插件(原有插件)

(1)更换sdk下tools
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools
替换启动文件 bat
(2)将新的jar包放在sdk\tools\lib 下
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools\lib
在这里插入图片描述
(3)将jar放在sdk\platforms\android-20
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-20
在这里插入图片描述
然后点击bat启动
查看是否有xpath元素
在这里插入图片描述
模拟器设置中查看型号
在这里插入图片描述
在这里插入图片描述

创建一个python文件,写入自动化代码

案例1:
from appium import webdriver
from time import *
cs={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android-5.1W’, #平台版本
‘appPackage’:‘com.moji.mjweather’, #包名
‘appActivity’:‘com.moji.mjweather.LauncherActivity’, #activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
sleep(10)

dx.find_element_by_id(“com.moji.mjweather:id/jc”).click() #同意进入

dx.find_element_by_id(“com.moji.mjweather:id/azz”).send_keys(“北京市”)
查看所需的参数数据:
(1)app端查看设备和版本
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘SM­G9350’, #设备名称
‘platformVersion’:‘android­4.4W’, #平台版本

(2)dos查看包名和活动路径名(命令:aapt d badging D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk)
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #activity 活动路径名
(3)appium查看服务地址
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
在这里插入图片描述

from appium import webdriver
from time import sleep
desired_caps={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘SM­G9350’, #设备名称
‘platformVersion’:‘android­4.4W’, #平台版本
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来

driver=webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’,desired_caps)
(一) ‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android­5.1W’, #平台版本

修改手机类型

在这里插入图片描述

执行成功,在app端可以查看

在这里插入图片描述

自动打开书架代码:

from appium import webdriver #导入appium模块
from time import * #导入时间
#连接参数 cs
cs={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android-5.1W’, #平台版本
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #活动activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
sleep(12)
dx.find_element_by_id(“com.baidu.yuedu:id/lefttitle”).click()

任务:

1、搭建appium 2、写app自动化5条 3、梳理appium自动化搭建流程并写文档 4.用pycharm+python+appium编写五条测试用例并生成测试报告

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2197177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.1K Star,跨平台开发者工具箱

Hi,骚年,我是大 G,公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 在现代开发环境中,提升工作效率的工具不可或缺&#xff0…

如何在百度地图上添加自己店铺的位置?

随着互联网的快速发展,如今许多事都可以通过网络去解决,例如线上支付、线上购物、线上订餐等,包括日常出行,人们也可以依靠地图软件去规划路线,然后导航至目的地。其中,百度地图作为国内领先的地图导航平台…

手写mybatis之数据源池化技术实现

前言 在上一章节我们解析了 XML 中数据源配置信息,并使用 Druid 创建数据源完成数据库的操作。但其实在 Mybatis 中是有自己的数据源实现的,包括无池化的 UnpooledDataSource 实现方式和有池化的 PooledDataSource 实现方式。 你可以把池化技术理解为享…

如何将精益思维应用于智能音箱的产品设计?

在激烈的市场竞争中,如何让自家的智能音箱脱颖而出,成为用户心中的“智能生活伴侣”?答案或许就藏在“精益思维”这一理念之中。本文,天行健精益生产顾问将带大家深入探索,如何将精益思维巧妙应用于智能音箱的产品设计…

排序算法之你不得不知道的(1)

一、排序运用场景 (1)排序概念:将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来。 (2)运用场景: (1)淘宝、支付宝、京东等购物平台的价格排序、质…

vue的h函数和template语法如何混用?

前言: h函数定义: 我们编写的代码转化为真正的dom时,首先会先转换为VNode,然后多个Vnode进行结合起来转化为VDOM,最后VDOM才渲染成真实的DOM。在 Vue.js 中,h 函数是 createElement 的别名,它是 Vue 用来创…

如何使用ssm实现基于vue的学生宿舍设备报修管理系统的设计与实现+vue

TOC ssm804基于vue的学生宿舍设备报修管理系统的设计与实现vue 绪论 1.1 选题背景 当人们发现随着生产规模的不断扩大,人为计算方面才是一个巨大的短板,所以发明了各种计算设备,从结绳记事,到算筹,以及算盘&#x…

基于java SpringBoot和Vue校园求职招聘系统设计

摘要 随着信息技术的迅猛发展,基于Java Spring Boot和Vue的校园求职招聘系统设计成为了解决高校就业难问题的重要手段。本文旨在探讨如何利用Java Spring Boot框架构建后端服务,以及使用Vue.js进行前端开发,从而创建一个高效、易用且功能全面…

【JavaScript】JS核心语法及函数

文章目录 一、初识 JS二、JS 核心语法2-1 变量2-2 数据类型typeofString 对象 2-3 数组创建数组常用属性方法 2-4 运算符号加号运算符 减号运算符 -比较运算符逻辑运算符 2-5 控制语句for-inbreakcontinue 三、函数3-1 常用系统函数3-2 自定义函数函数声明函数调用 3-3 创建对象…

RISC-V知识点目录

分支预测 分支预测概述https://blog.csdn.net/zhangshangjie1/article/details/136947089?sharetypeblogdetail&sharerId136947089&sharereferPC&sharesourcezhangshangjie1&spm1011.2480.3001.8118分支指令的方向预测https://blog.csdn.net/zhangshangjie1/a…

高效微调理解(prompt-tuning,p-tuning v1,p-tuning v2,lora)

高效微调(prompt-tuning,p-tuning v1,p-tuning v2,lora) 1.prompt-tuning: 例子理解;保持原本模型参数不变,通过训练提示词的参数调整prompt,使其与下游任务匹配。 例子…

HCIP-HarmonyOS Application Developer 习题(八)

(填空)1、声明式开发范式中使用装饰器( )装饰的结构体具有组件化能力,能够成为一个自定义组件。 答案:component 分析:component 装饰的struct表示该结构体具有组件化能力,能够成为一个独立的组件&#xff…

IT行业哪些证书可以应对就业难?

作为IT运维专业人士,持续增强自身的专业技能和知识是提升职场竞争力、实现升职加薪的关键途径。 下面为大家搜罗了5本适合IT运维人员考取的证书。 一、ITSS认证 ITSS,即信息技术服务标准,是一套涵盖了IT服务领域的标准库和方法论。 这是我…

企业升级首选:Windows 11 24H2 LTSC 纯净企业版!

今日,系统之家小编给大家带来最新的Windows11 24H2 LTSC 2024 纯净企业版下载,该版本系统是离线制作而成,各种各样的捆绑软件也都删除了,确保系统是安全无毒,还具备出色的稳定性与安全性,非常适合企业用户办…

自动猫砂盆真的有必要入手吗?自用不踩雷的选购干货分享!

平时出门在外忙碌,要如何保持猫咪的猫砂盆卫生就成了一个很重要的问题,要知道猫咪拉屎需求特别频繁,如果猫砂盆里的猫屎堆积过量,猫咪就很有可能嫌弃,然后寻找其他地方排泄,这就导致了家里大大小小都充斥着…

Python精选200Tips:186-190

针对序列(时间、文本)数据的网络结构 续 P186-- 双向LSTM(Bidirectional Long Short-Term Memory 2005)(1)模型结构说明(2)创新性说明(3)示例代码:IMDB电影评论情感分析 …

python爬虫 - 进阶requests模块

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、SSL证书问题 (一)跳过 SSL 证书验证 &#xff0…

【C++打怪之路Lv7】-- 模板初阶

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

基于SpringBoot的设备管理系统源码带本地搭建教程

技术框架:SpringBoot mybatis thymeleaf Mysql5.7 Fastjson Druid Shiro 运行环境:jdk8 IntelliJ IDEA maven 宝塔面板 系统功能:登陆,注册,系统用户管理,角色,部门管理,…

如何在电脑上创建虚拟网卡

1.右键点击此电脑,选择——管理 2.选择设备管理器——网络适配器,在点击操作选择 添加过时硬件 3.点击 下一页 4.在这里选择网络适配器,点击下一页 5.选择微软的环回适配器 6.打开控制面板 7.点击网络和Internet 8.点击网络和共享中心 9…