问题描述:
做APP UI自动化的时候,会碰到用uiautomatorViewer在Android 8.0及以上版本的手机上,无法获取到手机屏幕截图,无法获取元素定位信息的问题,会有以下的报
在低版本的Android手机上,则没有这个问题,可以顺利截图,但是现在手机的版本通常都不会低于Android8.0。
问题原因:
uiautomatorViewer暂不支持Android 8.0版本,试验使用Android7.0的版本的手机,是可以正常获取截图的。
解决方法:
用adb 命令手动抓取uix布局文件和截图,然后再用uiautomatorViewer来加载。步骤如下:
1、DOS窗口cmd下执行命令生成app.uix文件:
adb shell uiautomator dump /sdcard/app.uix
再用下面这个命令将抓取到的app.uix移动到你自己想放置的文件夹下,比如我的文件夹是(D:/ui_info):
adb pull /sdcard/app.uix D:/ui_info/app.uix
2、执行下面这个命令生成app.png文件:
adb shell screencap -p /sdcard/app.png
再用下面这个命令将抓取到的app.png移动到你自己想放置的文件夹下:
adb pull /sdcard/app.png D:/ui_info/app.png
3、再打开uiautomatorViewer, 加载uix和png即可:
可以将上面的语句写在了一个bat文件里面,可以直接双击运行这个bat文件就把uix和png抓取了。然后再用uiautomatorViewer, 加载uix和png即可:
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix D:/ui_info/app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png D:/ui_info/app.png
备注:
可能会存在个别页面即使抓取了uix和png, 用uiautomatorViewer加载也显示不出来的情况,碰到这种情况,就只能用低版本的andorid手机了,没由其他比较好的办法。
以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了
各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!
三连之后我会在评论区挨个私信发给你们~