python-uiautomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。
python-uiautomator2封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他允许测试人员直接在PC上编写Python的测试代码,操作手机应用,完成自动化,大大提高了自动化代码编写的效率。
python端: 运行脚本,并向移动设备发送HTTP请求
移动设备:移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。
过程步骤:
在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听
在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作
1、安装python 我使用的是python3
2、安装android的环境,adb可以正常使用
3、安装python uiautomator2
pip install --pre -U uiautomator2
安装的时候一直提示
因为我用的是python3 ,所以使用 pip3 install --upgrade --pre uiautomator2 就可以成功安装了,以后所有通过pip安装的都是用pip3 安装就可以了
4、设备安装atx-agent
首先设备连接到PC,并能够adb devices发现该设备。
$ python -m uiautomator2 init
success
我这句命令一直提示:
目前也没有解决
今天早上来了之后我按照错误一步一步排查,发现其他引用都没有问题,为有adb的引入有问题,然后我将adb的文件夹改成了adbs,然后一步一步将其中有引用adb的全部改成adbs,然后就都可以了。
所以就开始手动安装:
https://github.com/openatx/uiautomator2/wiki/Manual-Init 根据上面的步骤
文档中的步骤都是用shell命令执行的,但是我又不会使用shell命令所以就只能自己安装
首先通过 :
https://github.com/openatx/android-uiautomator-server/releases
https://github.com/openatx/android-uiautomator-server/releases
下载 安装包
然后adb直接安装
没有安装minicap和minitouch
https://github.com/openatx/atx-agent/releases/download 下载 [atx-agent_0.5.4_linux_armv7.tar.gz]
window下面解压出来
push到手机:adb push atx-agent的路径 /data/local/tmp/
adb shell
chmod 755 /data/local/tmp/atx-agent
data/local/tmp/atx-agent version # 查看版本
/data/local/tmp/atx-agent server -d # # 启动atx-agent并切换到后台运行
安装初始化完成
5、从git下面下载代码,然后放到本地 用pycham直接运行 运行网易云点击的操作
6、运行的时候报错 (用的小米手机)
查了一下是因为权限的问题,然后再开发者选项中有一个选项是usb调试(安全设置)打开就可以了,允许通过usb调试修改权限或者模拟点击