概述
uiautomator2 是用来做安卓自动化测试的python库,主要是对于第三方app 进行测试,获取屏幕上任意app 的任意一控件属性,就可以对其进行任意操作,缺点是不支持ios 自动化测试。这里主要介绍的是怎么搭建uiautomator2 环境的。
ios 自动化测试的话可以参考这个 https://github.com/openatx/facebook-wda
一、前提准备:准备安卓设备
1、首先需要一部安卓设备(手机/pad),打开开发者选项,设备连接到电脑上,执行adb devices 的话可以看到连接上的设备。确认能识别到设备ip的话,第一步就成功了。
二、安装uiautomator2 库
1.通过pip 安装 :
pip3 install -U uiautomator2
这里加了-U 参数,是用来升级第三方库的。有这个情况下安装的就会是最新版本的uiautomator2 了。
因为我装的是pip3,所以用的是pip3 ,装pip 的记得把命令行切换成pip install -u uiautomator2。
2.通过git下载安装
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
三、安装weditor
因为uiautomator 是独占的资源,所以运行atx 的时候,uiautomatorviewer 不能用,因此需要安装weditor UI 查看器
pip3 install -U weditor
安装之后,可以在命令行运行 weditor --help 确认是不是成功了,出现以下提示说明ok了。
四、运行weditor
1、运行方式
1.1对于windows 系统,可以通过 weditor --shortcut 在桌面创建快捷方式,点击快捷方式跳转浏览器页面。
1.2通过命令行,在命令行直接输入weditor 可以自动打开浏览器。
五、安装本库所需要的到的全部设备端程序 uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch
python -m uiautomator2 init
运行命令行之后会在安卓设备上安装atx 程序,是需要手动点击进行安装操作的;我这里因为已经安装好了,所以运行的时候显示的是uiautomator2 和atx-agent 的版本。
六、接第四步跳转浏览器界面之后,界面会显示和电脑连接的安卓端设备界面(最后在进行这一步操作)。
1.在顶栏把设备型号选择为Android
2. 在红框的位置输入你连接的安卓设备的ip (最开始 adb devices 获取到的设备信息)
3.点击connect 进行连接
七、连接之后,就是写代码部分了。先贴上简单版的代码。供参考。
---------我贴的这个是要实现打开apk 然后退出到桌面,循环100次---------------
import uiautomator2 as u2
import time
d = u2.connect(\'KWQNU19719101548\') #连接设备
for i in range(100):
time.sleep(3) #等待3s
d.app_start(\'com.commonrail.mft.decodertest\') #传递包名作为参数打开apk
time.sleep(6)
d.press("home") #返回到桌面