问题描述:
最近遇到一个问题,uiautomatorviewer.bat工具没法抓取android8以上的手机元素。推荐一个比较好用的工具来替换uiautomatorviewer。参考的原文地址:浅谈自动化测试工具 python-uiautomator2 · 测试之家。
优点:
weditor不仅可以获取android层次结构,还可以与手机的点击、sendkey交互,还能自动生成事件代码,是Android UI测试中必不可少的一个工具。废话不多说,先看安装方法。
安装前提:
1. 电脑已经安装了python2或者python3(均可)
2. 电脑已安装adb
Android Studio本身就带有了,在SDK目录下找到ADB的存放路径就行,将包含adb.exe的目录加到系统path中,命令行输入adb命令。(出现以下输出则未安装成功:“不是内部或外部命令,也不是可运行的程序或批处理文件”。)
3. 移动设备连接上电脑,命令行输入adb devices,输出的内容类似下图。
4. 安装python-uiautomator2:命令行输入
pip install --pre -U uiautomator2
5. 连接的android设备上安装atx-agent:
- 从github下载atx-agent文件,在手机上安装包名为`com.github.uiautomator`的apk
- 直接使用命令安装
python -m uiautomator2 init
最后提示success,代表atx-agent初始化成功
安装方法:
pip install --pre weditor
使用方法:
1. 运行命令:
python -m weditor
2. 输入命令后浏览器中会自动打开一个网页(前端),命令窗口(python -m weditor)是本地开放的HTTP的接口(不要关闭,前端跟本地服务区通信)
3. 在网页中有一个选项:Android(默认),输入框中填写设备的IP或者设备序列号(adb devices获取到的一串字符串),点击Connect,正常情况会出现一个绿色的叶子。