uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案

问题描述:

做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】直接拿走就好了

各位想获取资料的朋友请 点赞 + 评论 + 收藏 ,三连!

三连之后我会在评论区挨个私信发给你们~

相关推荐
Rosanci2 小时前
谷歌浏览器插件开发实战指南:从 Hello World 到上架发布
大数据·人工智能·chrome·程序人生
凯程序猿1号15 小时前
ChatCut online 剪前端性能排查录屏:瀑布图、长任务与修复复测怎样对齐
程序人生·电脑
政企项目老覃15 小时前
大模型 Agent 自主任务编排:电商客服地址解析从 12% 失败率到 2.1% 的落地复盘
人工智能·程序人生·算法
政企项目老覃16 小时前
金融转账“幽灵失败“排查实录:从本地消息表到 Seata TCC 的选型与权衡
数据库·程序人生·性能优化·数据分析·系统架构
BullSmall17 小时前
RAG 知识库专项测试
功能测试·大模型·测试
码农习箫录1 天前
吹箫笔记第 12 篇:把「情绪控制」当成一次资源调度
程序人生·生活
cpolar技术支持2 天前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
更深兼春远2 天前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
蒸鱼Yuzheng2 天前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试