最近在做ui自动化项目,公司测试机只有android9、android10版本。一时间很苦恼。。。
在网上搜索很多种方法,有的需要替换tools文件里面的两个.jar包,有的很复杂看不懂。试了很多种办法,踩了很多坑,现在记录一下我认为最简单最实用的办法,我已经解决。本人macos本,win系统一样适用。
本篇文章只适用于所有环境都已经搭建好的同学。
首先遇到的问题:
解决方案1:
1、适用数据线手机电脑相连
2、安装adb命令(已安装忽略)
3、手机打开你想要定位的页面
4、获取UI XML Dump的指令:
1)、 adb shell uiautomator dump /sdcard/sc.uix(将uix文件转储到手机上,位置自己指定)
2)、 adb pull /sdcard/sc.uix ./
5、获取Screenshot的指令:
1)、adb shell screencap -p /sdcard/sc.png((将获取的截图文件转储到手机上,位置自己指定))
2)、 adb pull /sdcard/sc.png ./
6、点击uiautomatorviewer中的的打开文件
7、找到第5步中的sc.png文件以及第4步中的sc.uix文件
8、ok之后大功告成!!!!
解决方法2:
又发现一个终极解决办法!!!不用截图!!!激动!!!
将SDK目录中tools文件夹下lib中的ddmlib、ddms、ddmuilib 、uiautomatorviewer这四个jar文件替换掉即可。下面是这四个新文件的下载地址:
链接:https://pan.baidu.com/s/1NIPNk8ApQIPveVkAfVOpJA
提取码:k5rc
替换完成后,重新打开tools中uiautomatorviewer.bat即可进行元素定位。