一、环境配置
https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn#howadbworks
1、java JDK环境
下载安装
https://www.rstk.cn/news/18764.html?action=onClick
官网下载:https://www.oracle.com/cn/java/technologies/downloads/
配置环境变量
配置路径:系统属性-高级-环境变量-系统变量
- 系统变量下新建:
- 变量名:JAVA_HOME
- 变量值:D:\Program Files\Java\jdk1.8.0_321 安装jdk的路径
- 系统变量下新建:
- 变量名:CLASS_PATH
- 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- 系统变量下点击Path-点击编辑-点击新建:
- 增加 %JAVA_HOME%\bin
- 增加 %JAVA_HOME%\jre\bin
- 全部保存后win+R打开CMD输入以下内容检查环境是否配置完成:
- java
- java -version
- javac
2、安卓模拟器下载
夜神、逍遥、雷电、MUMU……
3、Android SDK环境
https://www.cnblogs.com/nebie/p/9145627.html
下载SDK
https://www.androiddevtools.cn/#
安装Android版本
进入SDK的解压目录下,双击“SDK Manager.exe”打开SDK管理器
SDK环境配置
在解压完成后,就可以开始配置环境变量了。方法和设置JAVA JDK的环境变量的方法类似。
新建系统变量:
创建ANDROID_HOME,值是你的刚刚SDK的解压目录,比如 E:\Android\android-sdk-windows
编辑系统变量中的Path:
将SDK的platform-tools和tool的路径添加到Path 变量内(这两个目录在你通过SDK Manager安装更新Android SDK Tools和Android SDK Platform-tools之后就会有了)
1 新建 %ANDROID_HOME%\platform-tools
2 新建 %ANDROID_HOME%\tools
替换adb.exe文件
用platform-tools文件夹中的adb.exe文件替换掉模拟器安装完成后的以adb.exe结尾的文件
验证Android SDK
1 | android -h |
通过adb连接电脑
真机通过adb连接电脑
准备:需要一个安卓手机+usb数据线
1、用数据线把电脑和手机连接起来。Usb插口尽量插在后面的usb口上。
2、如果手机上出现如下图片,点确认
如果没有出现,先进行第三步
3、打开手机设置,找到开发者选项
有些手机需要连续点击自己的版本号,才能出现这个选项,具体根据机型不同有一定变化,可自行百度
4、点击开发者选项,打开usb调试
5、此时可选择拔掉数据线,重新插拔。看是否出现第二步。
如没有出现则进行重复以上步骤,或者检查数据线,或者检查usb插口。
7、如果此时想在airtest里面控制手机
先点击刷新adb。出现我们的设备信息后,点击connect。注意,正常的状态应该是device状态。
注意:在刷新adb的过程中,可能你的手机上还会出现调试提醒,记得点击同意。
如果一直找不到你的手机设备信息,可以选择重新插usb线。
在连接时可能会出现让你下载两个应用,正常同意安装即可。
一个是键盘插件,一个是框架插件。
Yosemite是输入法软件,如果导致手机无法正常打字,将该软件卸载掉即可,但是在自动化过程中,必须保留该软件。
模拟器通过adb连接电脑
市场上有大量的模拟器,可以模拟手机,有各种手机可选
appium连接模拟器进行自动化测试时,需要使用adb来连接模拟器,具体操作步骤:
1、打开模拟器
2、在cmd中输入:adb devices
此时出现的列表中找不到对应的安卓设备
3、 在cmd中输入:adb connect 127.0.0.1:7555(7555为模拟器对应的端口号,此处为网易MUMU模拟器)
4、再次输入:adb devices,列表中找到对应模拟器表面连接成功
Airtest连接模拟器
airtest内置的有adb
1.首先,与手机类似,需要打开模拟器的 开发者选项-允许USB调试 。
部分模拟器可能需要找到 设置-关于手机-版本号 点击多次后才能打开开发者选项:
2.打开AirtestIDE设备窗内的 远程设备连接 ,
输入 adb connect 127.0.0.1:62001 后(该端口号与模拟器品牌相关),点击 连接 按钮
不同模拟器使用不同的端口号:
3.设备列表中可见 127.0.0.1:7555 设备,先点击Connect按钮旁的下拉菜单,勾选Javacap模式后,再点击 Conenct 按钮(如果没有勾选Javacap模式,会导致看到的手机画面是黑屏)。如果还是未能连接成功,可以补充勾选 其他选项再连。
4.以下就是连接好了
补充.:部分模拟器相关问题
1.连模拟器时,需要先勾选 use javacap 选项后再点击 connect 按钮连接,才能避免看到的屏幕是黑屏。
2.在部分版本的模拟器上,可能勾选了 use javacap 后依然连接失败,此时可以尝试再勾选 use adb orientation 选项后再重新连接即可。
3.部分品牌模拟器,可能出现无法正常点击的现象,可以尝试勾选 use ADBtouch 后再连接。
4.部分品牌模拟器,可能无法调用yosemite输入法,导致 text() 接口无法输入文字,可以先确认模拟器设置中,硬件-物理键盘 是否被勾选了,取消勾选后再重新尝试即可。如果依然无法输入,可以考虑换用poco来输入,或是直接使用adb指令输入英文内容
adb通过wifi连接android设备
adb支持usb连接模式和tcpip连接模式,我们可以用tcpip模式通过wifi无线连接adb。
具体连接步骤如下:
1、确认本机PC没有任何adb设备连接,包括模拟器和usb连接
查看当前PC端连接有多少设备:
adb devices命令后,列表显示为空;
2、将远程android设备接入Wi-Fi,并查看其IP地址
查看android设备的IP地址,这里有三种方式查看Android设备IP。
(1). 设置-关于手机-状态信息-IP地址中查看
(2). 设置-WLAN-点击当前链接上的Wi-Fi查看IP
例如:设置—〉无线或网络—〉WLAN设置—〉查看当前连接Wi-Fi的IP地址(部分机型需要按menu键并选择“高级”选项—〉IP地址)
(3). 通过adb命令查看设备IP地址:adb shell netcfg
前提:(设备已经和PC建立了usb连接)
确保电脑和Android设备连接在同一个WIFI网络环境(同一个局域网下,进行通信)
3、本机command命令下执行ping android设备的IP
如果ping成功,说明可以连接
4,执行 adb connect
知道设备IP地址之后,就可以用adb connect命令通过IP和端口号连接adb。
如果显示连接成功,则可继续执行后面的操作;
5、执行 adb connect不成功,如下图显示:connect拒绝
用adb tcpip模式重启adb
adb tcpip 5555
连接成功,connected to 10.129.49.143:5555
adb connect ip连接成功以后可以执行原来usb连接时的所有命令
4、Appium Desktop服务端安装
下载安装appium-sever
https://github.com/appium/appium-desktop/releases
Simple:基础配置
- Host:服务端的主机地址
- appium客户端运行时,会通过改地址发送请求到appium服务端
- 默认0.0.0.0,代表appium服务端所有主机的所有IP
- 同127.0.0.1一样,都是本机地址
- Port:
- General:常规选项,进行Android和IOS自动化测试时公共的设置项
- sever Address:0.0.0.0
- Server Port:4723
- Logfile Path:存储日志的路径设置
- Log Level:debug 日志级别设置
- Override Temp Path:覆盖临时路径,很少用
- Node Config File Path:节点配置文件,可以完成多少并发测试
- Local Timezone:当前时区,可以勾选
- Allow Session Override:允许会话覆盖,可以勾选
- Log Timestamps
- Suppress Log Color:日志颜色,可以勾选
- Strict Caps Mode:配置模式,不勾选
- Relaxed Security:安全配置,不勾选
- Allow CORS
- IOS:仅包含用于IOS自动化测试的设置项
- 默认即可
- Android:仅包含用于Android自动化测试的设置项
- 这些选项不要求强制设置,只有在少数情况下需要配置,不需要的时候可以跳过
- Bootstrap Port:4724 H5应用测试时需要设置端口
- Selendroid Port
- Chromedriver Port
- Chromedriver Binary Path:驱动设置的路径
- Edit Configurations:配置环境变量
- Sava As Presets:保存当前配置到Presets中
Presets:预设配置
- 显示高级配置保存的信息
- 可以配置环境变量
下载安装appium-inspector
高版本Appium(1.22.0及以上)的服务和元素查看器分离,还需要下载Appium Inspector。
启动Appium Server GUI后,搜索按钮鼠标悬停会显示inspectorMoved,低版本会直接显示Start Inspector Session
https://github.com/appium/appium-inspector/releases
解压后同appium-sever放在一起
配置被测设备信息
填写appium:platformName,appium:platformVersion,appium:deviceName等信息。
之后点击save as…进行保存。如果adb连接了模拟器或者真机,也可以点击start session直接运行。
参数
deviceName 连接设备名称
- 通过 adb devices命令获取
- 通过 adb devices命令获取
platformName 操作系统名称
platformVersion 操作系统版本
——-和软件相关内容——-:
appPackage 被测试的APP软件包
- 获取方式:
- 找开发要
- 通过adb命令获取:
- adb连接成功后:
- 通过adb shell命令进入adb命令
- 通过pm list pakages命令查询所有软件包
- 通过pm list packages -3命令查询第三方软件包(非系统软件包)
- appActivity 被测试的入口
- 问开发
- 通过dumpsys window windows | grep current -i命令获取(点击运行待测软件的同时执行此命令)
- onRest 是否清除缓存
- adb连接成功后:
- 获取方式:
配置参数后执行
1 | { |
执行后在这里可以获取页面定位元素:
5. python: pip install Appium-Python-Client
二、python代码实现
基于selenium实现UI测试
python的自动化代码和appium-inspector不能同时执行
通过执行appium-inspector获取定位元素
1、打开模拟器,adb连接成功
2、打开appium-server–>startServer
3、执行代码
1 | from appium import webdriver |
基于adb命令实现性能测试
1 | import subprocess |