球王会app

球王会app靠谱吗
办公地址:球王会app靠谱吗

业务:   段先生
电话:13312982596

干货 一文搞定 uiautomator2 自动化测试工具使用

发布时间:2022-05-15 06:31:54 来源:球王会app 作者:球王会官网

产品展示 Products Exhibition

干货 一文搞定 uiautomator2 自动化测试工具使用

  Google 官方提供了一个 Android 自动化测试工具(Java 库),基于 Accessibility 服务,功能很强,可以对第三方 App 进行测试,获取屏幕上任意一个 App 的任意一个控件属性,并对其进行任意操作,但有两个缺点:

  实际工作中,我们希望测试逻辑能够用 Python 编写,能够在电脑上运行的时候就控制手机。所以基于这个目的开发了 python-uiautomator2 自动化测试开源工具,其封装了谷歌自带的 uiautomator2 测试框架,可以运行在支持 Python 的任一系统上,目前版本为 V2.10.2。

  说明:后文中所有代码都需要导入 uiautomator2 库,为了简化我使用 u2 代替,d 代表 driver

  weditor 是一款基于浏览器的 UI 查看器,用来帮助我们查看 UI 元素定位。

  #这里返回的是一个列表,当没找到元素时,不会报错,只会返回一个长度为 0 的列表

  描述返回值备注exists()判断元素是否存在True,()返回元素的所有信息字典@propertyget_text()返回元素文本字符串

  因为 Java uiautoamtor 中默认是不支持 xpath,这是属于 ui2 的扩展功能,速度会相比其它定位方式慢一些

  # 切换成 ui2 的输入法,这里会隐藏掉系统原本的输入法 , 默认是使用系统输入法

  这个感觉是比较有用的一个功能,可以在测试用例开始时录制,结束时停止录制,然后如果测试 fail。则上传到测试报告,完美复原操作现场,具体原理后面再去研究。

  这个功能是首先手动截取需要点击目标的图片,然后 ui2 在界面中去匹配这个图片,目前我尝试了精确试不是很高,误点率非常高,不建议使用。

  可以从本地路径及 url 下载安装 APP,此方法无返回值,当安装失败时,会抛出 RuntimeError 异常

  默认当应用在运行状态执行 start 时不会关闭应用,而是继续保持当前界面。

  卸载全部应用返回的包名列表并一定是卸载成功了,最好使用 verbose=true 打印一下信息,这样可以查看到是否卸载成功

  或者可以修改一下源码,使其只输出成功的包名,注释的为增加的代码,未注释的是源码

  #当 PC 与设备在同一网段时,可以使用 IP 地址和端口号通过 WIFI 连接,无需连接 USB 线)

  #点击后的延迟,(0,3)表示元素点击前等待 0 秒,点击后等待 3S 再执行后续操作

  # 如果是目录,这里 /sdcrad/ 最后一个斜杠一定要加,否则会报错

  output 返回的是一个整体的字符串,如果需要抽取值,需要对 output 进行解析提取处理

  因为有 atx-agent 的存在,Uiautomator 会被一直守护着,如果退出了就会被重新启动起来。但是 Uiautomator 又是霸道的,一旦它在运行,手机上的辅助功能、电脑上的 uiautomatorviewer 就都不能用了,除非关掉该框架本身的 uiautomator

上一篇:数码买呗 篇五:一文解决 Oculus Quest2 购前疑惑拆箱激活使用常见问题解决配件选择应用推荐(长文慎 下一篇:量子点钙钛矿色转换:让显示更出色