对于首次学习Appium框架,在使用uiautomatorviewer进行安卓app控件定位的时候,偶尔会看到下面这样的异常,一般都是百度,多数并没有找到答案,从此放弃使用此工具,选择其他工具或者直接放弃了Appium自动化。
有的大佬会说,让开发去改开发包的内部内(改代码),对于新手研究框架来说,这种方法,成本太高,其实多数情况下是手机不兼容,换个手机就好了,但是有时候能用的手机,又突然不能使用了。在此,有个万能的用法,减少新手学习成本
一:先造工具
方法如下:
直接在cmd命令行敲
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix E:/app.uix
#存到E盘的app.uix文件夹中,在E盘提前建一个app.uix格式的文件夹
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png E:/app.png
#存到E盘的app.png文件夹中,在E盘提前建一个app.png格式的文件夹
因为每次都得写四行代码,比较麻烦,所以写了一个批处理文件。
放到桌面直接运行即可:(不懂怎么做bat的,自行去百度哦)
二:使用工具
1:先将手机连上adb,打开手机要定位的页面,双击写好的工具,之后,手机界面图就被截取成功
2:打开uiautomatorviewer.bat,操作如下图
此时,打开的图片,就可以定位到页面各个元素
当然也有人还是觉得这种麻烦,当然还有其他的工具也是可以获取页面元素的。