简介:
uiautomator2 是基于python 实现的一个开源库,原理是在手机上运行了一个http rpc服务,将uiautomator中的功能开放出来,然后再将这些http接口封装成Python库,所以它的组成可见下图
python-uiautomator2主要分为两个部分,python客户端,移动设备
python端:运行脚本,并向移动设备发送HTTP请求
移动设备 :移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。
整个过程
1. 在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听
2. 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
3. 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作
项目地址 https://github.com/openatx/uiautomator2#installation
uiautomator2 环境搭建 安装uiautomator2 安装pillow来处理截图数据 安装weditor,我们快速的识别手机上的元素a、安装 uiautomator2 设置国内代理
pip3 install -U uiautomator2 -i https://pypi.doubanio.com/simple
如果安装不了,可能是 pip3版本过低导致,可以先进行升级 更新pip3
python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
如果线上自动安装有问题,也可以采用下面这种方式
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
b、安装pillow来处理截图数据
pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
手机USB线与电脑连接,将关联的守护进程部署到设备电脑连接上一个手机或多个手机,确保adb已经添加到环境变量中,
执行下面的命令会自动安装本库所需要的设备端程序:uiautomator-server,atx-agent,openstf / minicap,openstf / minitouch
init就是所有USB连接电脑的手机上都安装uiautomator2
python3 -m uiautomator2 init
指定手机安装uiautomator2, 用 --mirror
python3 -m uiautomator2 init --mirror --serial $SERIAL
嫌弃慢的话,可以用国内的镜像
python3 -m uiautomator2 init --mirror
c、安装weditor,有了这个,方便我们快速的识别手机上的元素,方便写代码
pip3 install --pre -U weditor
启动 weditor
python3 -m weditor
命令会启动浏览器,输入ip+端口即可 完成链接
1、找到一个移动设备,我这里找的是android手机,首先打开adb
这里个人建议通过wifi 连接adb,具体方式如下
a、首先通过数据线连接手机
b、运行命令 adb tcpip 5555 开启手机调试端口
c、断开数据线,通过命令
adb connect 192.168.2.100
(手机ip地址)连接 adb
2、执行 python3 -m uiautomator2 init 安装uiautomator2所需的几个apk
3、python3 -m weditor
启动浏览器,输入ip+端口即可 完成链接,效果如下
这个用来查信息,做UI还原,自动化测试用力编写及运行测试都是非常方便的,对比其他平台的自动化来说,连接即可以运行,省去了装apk的各种过程。而且这个框架非常适用某些特殊场景,这个以后有机会再介绍。
另外,我有个交流群,我会***不定期在群里分享学习资源,不定时福利***,感兴趣的可以说下我邀请你!
下节预告好了,简单的入门环境搭建即到这里,下节预告:
《即想学习,又想游戏当大哥,uiautomator2 如何快速开发辅助外挂》
留言或转发超过10条立即更新