之前都是用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%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!