在做ui自动化 测试的时候,可以用uiautomator2+weditor结合,uiautomator2的优势是采用xpath绝对定位的定位方式,精准的定位页面元素。而在手机连接电脑的情况下weditor以网页的形式展示app界面,定位页面元素,与appium sever不同的是,可以在weditor的网页端点击页面元素,选择操作行为,同时支持在同一个页面进行代码调试。
首先需要在电脑上安装adb,也就是android sdk,而android sdk需要依赖java jdk。手机连接电脑之后,执行adb devices操作,有报错提示,是win10系统需要打开电脑的策略。
也需要安装pip,因为uiautomator需要依赖pip。执行pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U uiautomator2安装uiautomator2。也可以用appium自带的工具,uiautomatorviwer.bat连接手机,连接过程中有个需要注意的地方,sdk-tools/bin里面有四个旧的文件,需要下载新的四个文件替换原来旧的文件。
安装好uiautomator后需要安装夜神模拟器,需要执行命令
然后在命令行执行python -m weditor,自动跳转到weditor的页面,连接手机,点击dump hierarchy,和手机页面展示效果同步,如果连接不上出现error报错提示,需要在命令行输入adb devices,查看手机ip,在weditor里输入手机设备ip,点击连接connect,再点击dump hierarchy,就可以连接啦。
启动手机app,命令行执行adb shell dumpsys window | findstr mCurrentFocus,获取包名和activity,在面板里导入uiautomator2的包,用设备ip连接手机,通过包名和activity对app进行操控。代码如下: