APP自动化测试越来越重要了,我们怎么才能避免接二连三的掉坑呢?本文就说一下UI Automator Viewer不支持xpath属性怎么办?
1.前提
基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unittest。
2.痛点
通常大家在做APP自动化测试定位元素属性的时候都喜欢用Android SDK自带的UI Automator Viewer工具,轻量且方便,但也存在其不好的一些地方,比如连接不稳定,不能录制脚本,不支持定位获取xpath属性。尤其最后一点,因为appium虽然提供了十几种定位方式,但有时候就是得用xpath定位,但是xpath定位语句不好写,如果能够通过定位工具自动获取生成的xpath定位语句就好了。
3.解决方案
1)如果你不用模拟器,直接玩真机测试,可以继续往下做(不推荐,因为会导致AVD Manager和SDK Manager无法启动,闪退):
注意开始操作之前,建议先备份下tools目录下的lib文件夹,以便恢复。
uiautomatorviewer工具默认位置:%ANDROID_HOME%tools
![v2-506d974a8492a93493bfd5eb88d4ffde_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bc370be3-9d2e-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-506d974a8492a93493bfd5eb88d4ffde_b.jpg)
扩展方式:
将支持xpath-uiautomatorviewer.zip中的所有jar包拷贝到%ANDROID_HOME%toolslib目录下,覆盖原来的*.jar;然后运行uiautomatorviewer.bat即可支持xpath。
2)如果你需要在模拟器上测试,又想uiautomatorviewer支持xpath定位(推荐):
直接获取我给的uiautomatorviewer-xpath.zip包,解压到任意目录,双击运行
uiautomatorviewer-xpathtools目录下的uiautomatorviewer.bat文件即可。
注:如果感觉使用不方便,可以在uiautomatorviewer.bat文件上鼠标右键选择“发送到-桌面快捷方式”,以后即可从桌面直接运行该工具。定位工具界面展示:
![v2-9701c76c79f21a9f492b808b76250ff1_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=bc370be3-9d2e-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-9701c76c79f21a9f492b808b76250ff1_b.jpg)
![v2-6c3293fbe4c26a2257f175e5fdb3620c_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=bc370be3-9d2e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-6c3293fbe4c26a2257f175e5fdb3620c_b.jpg)