之前都是用appium做自动化,但是后来在自动化的时候发现,都是来在安卓上来做的,想要快速的去执行case,而且需要比较简便快速的去执行,所以需要一个快速自行的框架,调研了很多市面上现有的框架,uiautomator2是一个不错的选择,执行速度快,效率高,稳定性也不错。 uiautomator2加上adb的一些使用,就能满足大部分的业务场景。然后整理了一些uiautomator2使用。持续的给大家分享几篇。
uiautomator2是一个自动化测试开源工具,仅支持android平台的自动化测试,其封装了谷歌自带的uiautomator2测试框架,可以运行在支持Python的任一系统上。
工作原理:
python-uiautomator2主要分为两个部分,python客户端,移动设备
python端: 运行脚本,并向移动设备发送HTTP请求
移动设备:移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。
整个过程
在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听
在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作
安装:
pip install -U --pre uiautomator2pip install pillow
uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch首先将设备插入到手机上
python -m uiautomator2 init 联网下载
简单示例
import uiautomator2 as u2# 连接并启动d = u2.connect() print(d.info)
即可完成设备的链接,打印设备的信息。
weditor是一款基于浏览器的UI查看器,用来帮助我们查看UI元素定位。
pip install --pre --upgrade weditorpython3 -m weditor或者直接:weditor
启动后,会在默认的浏览器打开。
中间是定位信息
在右侧,我们可以简单的编写调试脚本
还会有一些注释,
然和我们可以去选择定位啊,或者send_key在代码中就会有一些代码的自动的填充
import uiautomator2 as u2#导入模块d = u2.connect()#链接设备d.widget.click("00001#")d.click(0.538, 0.773)#点击d.send_keys("ces", clear=True)#发送文字
整体上还是很方便的。它还有丰富的API 可以使用。下次分享会分享API,然后会利用它去演示如何测试微信小程序。
最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!