**
一、介绍:
相信很多使用 appium 做过 APP 自动化的人都深有感触:
现在有一款自动化测试工具 uiautomator2,它几乎完美的避免了以上的问题。简单易学,对新手足够友好。本次我们介绍一下这款工具
uiautomator2 是 uiautomator 的升级版,uiautomator 是 Google 开发的一款用来做安卓自动化测试的 Java 库,uiautomator2 则是将 uiautomator 中的接口封装成了 Python 库。因此它支持的语言为 Python
优点主要概括如下:
二、环境部署
1.先升级 pip
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
py
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U uiautomator2
3.安装定位元素的包 weditor# 基于浏览器查看 App 的界面元素
pip install --pre weditor -i https://pypi.douban.com/simple
备注:安装源可以换#https://pypi.douban.com/simple 豆瓣镜像 和 #https://pypi.tuna.tsinghua.edu.cn/simple 清华镜像
安装 weditor 碰见的问题汇总:
py
装weditor时出现error in setup command: Error parsing C:\Users\WANGLI~1\AppData\Local\Temp\pip-install-3stpb4jr\weditor_50cffa0e823948fe8a0436a9af5b9898\setup.cfg: UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 825: illegal multibyte sequence:
解决方法:git clone https://github.com/openatx/weditor
pip3 install -e weditor
参考:https://github.com/alibaba/web-editor
4.在手机上安装 atx-agent 应用,
ps:atx-agent 作为服务端,一直运行在后台
执行如下命令,初始化安卓设备
# 安装apk服务到手机上
python -m uiautomator2 init
5.若需要截屏,需要安装 pillow
# 如果需要截屏,需要安装pillow
pip3 install pillow
6.weditor 连接安卓设备如下:
安卓端:
Windows 上运行 Android 端:
打开终端输入命令启动 weditor:
python -m weditor
命令执行成功后会自动调用浏览器打开地址http://localhost:17310/,如图:
选择目标设备 Android
输入命令查看 android 设备 UUID:adb devices
在 WEditor 界面输入设备 UUID
点击 Connect,连接成功
点击 dump hierarchy,即可定位元素
在执行 python -m weditor 这个命令的时候碰见问题汇总
A. 运行 python -m weditor 时,提示:ModuleNotFoundError: No module named 'tornado'
按照提示安装:pip install tornado
B. 再次运行 python -m weditor 时,提示:ModuleNotFoundError: No module named 'wda'
按照提示安装:pip install wda
C. 在安卓手机定位元素碰见的问题如下:
查看 cmd 窗口也报错
在 2022-08-31 在安卓 12MIUI13 机器上碰到以上问题,然后根据https://github.com/alibaba/web-editor/issues/114 这个描述去解决,还是不能解决以上问题。最后换了一个 vivo 手机,能正常元素定位了(备注:https://blog.csdn.net/YUICUI/article/details/125379562 这个解决方法不适用)
iOS 端:
第一步:在定位 iOS 手机查找元素的时候,请先在 iOS 手机上安装 wda 应用,请参考:https://testerhome.com/topics/34299
安装完成之后,脱离 mac 电脑,换成 windows 电脑
第二步:Windows 安装配置 tidevice
1、打开 cmd,输入命令: pip3 install -U "tidevice[openssl]",如图表示安装成功
2、查看 tidevice 版本号验证是否安装成功,打开 cmd,输入命令:tidevice version 或 tidevice -v,如图
3、列出连接的设备,打开 cmd,输入命令:tidevice list 和 tidevice list --json,如图
4、应用管理常用命令
(1)安装应用:tidevice install example.ipa
(2)指定设备安装:tidevice --udid $UDID install https://example.org/example.ipa
(3)卸载应用:tidevice uninstall com.example.demo
(4)启动应用:tidevice launch com.example.demo
(5)停止应用:tidevice kill com.example.demo
(6)查看已安装应用:tidevice applist
(7)查看运行中的应用:tidevice ps 或tidevice ps —json output as json
第三步:用 windows 开始定位:
打开终端 1,启动 WDA:
tidevice wdaproxy -B com.xxx.xxx.WebDriverAgent.Runner --port 8200,
如下图,启动 wda 成功
打开终端 2,转发请求到手机:
tidevice relay -x 8100 8100
命令执行之后,如下图,转发成功
浏览器打开http://localhost:8100/,如下图,转发成功:
打开终端 3,启动 weditor:
python3 -m weditor
命令执行成功后会自动调用浏览器打开地址http://localhost:17310/
选择目标设备 iOS
点击 dump hierarchy
运行成功即可
参考文献:https://github.com/alibaba/web-editor