uiautomator2是基于python的一个自动化测试开源工具,它只支持Android平台的原生应用测试,
在工作中获知到它的存在,第一眼看上去,大家应该会和我一样觉得它和uiautomator有什么不一样,首先两者都是Google提供的用来做安卓自动化测试的
uiautomator2是python库,uiautomator是Java库
uiautomator测试脚本要打包成jar或者apk包上传到设备上才能运行,而uiautomator2能够用Python编写,能够在电脑上运行的时候就控制手机
uiautomator获取控件的速度更快一些,容易上手,对于新手很友好
从安装到可以使用步骤很简单:
前提准备
Android版本不低于 4.4
Python >= 3.6
pip也要注意版本,如果运行时提示版本过低,应升级版本后再进行后续操作
先准备一台开启了开发者选项的安卓手机,连接上电脑,确保执行adb devices可以看到连接上的设备。
1.安装 uiautomator2 模块
运行命令:pip install -U uiautomator2
运行命令:pip install pillow(安装屏幕截图数据非必安的)
2.手机安装uiautomator2 apk
命令运行:python -m uiautomator2 init(Github源) /(python -m uiautomator2 init –mirror这是国内的,比较快)
安装包含httprpc服务的apk到手机+atx-agent, minicap, minitouch(一个小黄车的icon)
3.验证脚本
命令行运行python打开python交互窗口。然后将下面的命令输入到窗口中。
import uiautomator2 as u2
d = u2.connect(IP=172.16.11.227) # connect to device #特别注意的是:IP手机连接WIFI的IP地址,并不是ipconfig里的IP地址
print(d.info) #这上面命令需要逐行敲回车进行
这时看到类似下面的输出,就可以正式开始用我们这个库了。因为这个库功能太多,后面还有很多的内容,需要慢慢去看 ....
{'currentPackageName': 'net.oneplus.launcher', 'displayHeight': 1920, 'displayRotation': 0, 'displaySizeDpX': 411, 'displaySizeDpY': 731, 'displayWidth': 1080, 'productName': 'OnePlus5', '
screenOn': True, 'sdkInt': 27, 'naturalOrientation': True}
4.安装weditor UI检验(UI Inspector)
命令运行:pip install -U weditor安装完成
5.启动weditor
命令运行:python3 -m weditor 会自动打开浏览器,输入设备的ip(手机连接wifi的网址IP)或者序列号(adb devices获取),点击Connect,大功告成,就可以看到模拟手机的界面
如果报错,可能是缺少某个设备组件没有安装,使用下面的命令重新初始化 python -m uiautomator2 init
利用uiautomator2可以定位到自己想要的元素供使用
网友评论