一、简单介绍

1、自动化测试开源工具,仅支持 Android 平台的原生应用测试
2、目前仅支持脚本语言 python
3、封装谷歌自带的 uiautomator 测试框架,提供便利的 python 接口

google提供的uiautomator库可获取安卓APP的控件属性,并执行相关操作,但有两个缺点:  
① 测试脚本只能使用Java语言  
② 测试脚本必须每次被上传到设备上运行

4、工作原理:
原理是在手机上运行了一个 http 服务器,将 uiautomator 中的功能开放出来,然后再将这些 http 接口,封装成 Python 库

以下解释直接引用网址:https://testerhome.com/topics/11357
① 在移动设备上安装 atx-agent(守护进程), 随后 atx-agent 启动 uiautomator2 服务 (默认 7912 端口) 进行监听
② 在 PC 上编写测试脚本并执行(相当于发送 HTTP 请求到移动设备的 server 端)
③ 移动设备通过 WIFI 或 USB 接收到 PC 上发来的 HTTP 请求,执行制定的操作

二、实现功能

1、获取手机部分信息(d.info)

2、操作手机设备,比如点击 Home 键、锁屏、查看快捷键等 (d.press("home")、d.screen_off()、d.open_quick_settings() 等)

3、安装、启动、卸载应用
d.app_install('http://some-domain.com/some.apk')
d.app_start("com.example.xxx")
d.app_stop("com.example.xxx")

4、识别手机上控件、对控件进行相关操作等
d(text='Clock', className='android.widget.TextView')

参数可支持以下:
● text, textContains, textMatches, textStartsWith
● className, classNameMatches
● description, descriptionContains, descriptionMatches, descriptionStartsWith
● checkable, checked, clickable, longClickable
● scrollable, enabled,focusable, focused, selected
● packageName, packageNameMatches
● resourceId, resourceIdMatches
● index, instance

三、实际操作

1、PC 端先部署好环境
①安装 jdk
②安装 sdk
③安装 python
④使用 python 自带 easy_install.exe 工具安装 pip(easy_isntall.exe pip)
⑤pip install --pre uiautomator2
2、给安卓设备安装上 uiautomator 工具
在电脑端执行 python -m uiautomator2 init,等待安装完成即可
3、可打开 PC 端通过命令行命令,或者执行脚本来操作手机

四、我的总结

1、uiautomator2 和 uiautomatorview.bat 有冲突,可直接使用 weditor 工具来查看控件信息
2、安装在手机上的 uiautomator 工具隔段时间就会有问题,因此不适合做大规模的兼容测试
3、仅支持安卓原生应用


↙↙↙阅读原文可查看相关链接,并与作者交流