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

这篇具有很好参考价值的文章主要介绍了uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

做APP UI自动化的时候,会碰到用uiautomatorViewer在Android 8.0及以上版本的手机上,无法获取到手机屏幕截图,无法获取元素定位信息的问题,会有以下的报

在低版本的Android手机上,则没有这个问题,可以顺利截图,但是现在手机的版本通常都不会低于Android8.0。

uiautomatorViewer无法获取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即可:

uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案,软件测试,程序人生,软件测试,自动化测试,软件测试工程师,功能测试

 

可以将上面的语句写在了一个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】直接拿走就好了

uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案,软件测试,程序人生,软件测试,自动化测试,软件测试工程师,功能测试

uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案,软件测试,程序人生,软件测试,自动化测试,软件测试工程师,功能测试

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

三连之后我会在评论区挨个私信发给你们~文章来源地址https://www.toymoban.com/news/detail-609957.html

到了这里,关于uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 手机屏幕适配方式和原理

    其适配原理主要是根据dp/sp与px的转换,而dp/sp与px的转换又与DisplayMetrics的density相关,所以可以通过改变DisplayMetrics的density,scaledDensity和densityDpi的值来适配不同分辨率机型。 在开始分析之前,我们需要了解一些概念,如: DisplayMetrics:是Android屏幕显示的信息描述,如尺寸

    2024年02月04日
    浏览(39)
  • Android 屏幕适配各种宽高比的手机

    由于android 手机的屏幕宽高比样式太多了,在设计UI时,很多时候,会因为宽高比,分辨率不同会有展示上的差异。 我是这样解决的 在activity的onCreate方法前,调用:   这样就适配了

    2024年02月15日
    浏览(45)
  • 小米妙享中心加载失败电脑能发现手机,手机能发现电脑,无法打开镜像画面,无法打开最近文件,能够看到但是无法打开,无法流转应用,无法共享屏幕

            本人是小米笔记本PRO14锐龙版WIN11系统,手机是小米14pro,电脑刚买来的时候都是可以正常在电脑投屏的,最近投屏总是失败报错,查了很久才解决这个问题可以正常投屏,所以发出来跟大家分享一下,以作参考。         首先要保证电脑上安装了小米妙享的最新

    2024年02月04日
    浏览(177)
  • android8、android13自适应图标适配

    前言:为了解决应用图标在不同android手机上的外观样式问题,google官方在android8和android13两个版本做了变更(这2个版本都提供了向下兼容),下文介绍适配方法以及 注意事项(此处有彩蛋) 。 一、android8(API27)适配 1、找到资源文件夹:mipmap-anydpi-v26(若旧的as里没有默认生成,

    2024年02月09日
    浏览(69)
  • Android UiAutoMatorViewer打不开

    UIAutoMatorViewer是个很好用的工具,能解析出任意手机页面的UI树,非常方便。 工具位置:SDKtoolsbinuiautomatorviewer.bat 一般双击就能打开。 但有时会打不开,双击后无反应,在cmd窗口中运行也是如此。 这种情况一般是本地jdk版本变更了,特别是环境变量指向了高版本jdk,会造成

    2024年01月17日
    浏览(35)
  • 小米妙享中心非小米电脑加载失败电脑能发现手机,手机能发现电脑,无法打开镜像画面,无法打开最近文件,能够看到但是无法打开,无法流转应用,无法共享屏幕

    我这里使用的是ThinkPad T480电脑,该电脑已经是5年左右的老机器了,但是依然能够成功使用小米妙享,只是可能比起原装的功能没有那么全,至于原装是什么样,我也没有体会过,不做过多说明。安装方法很简单,下载小米妙享pc版.exe和机型破解库wtsapi32.dll,将这两个东西放

    2024年02月16日
    浏览(217)
  • Android 获取屏幕宽高的正确姿势

    在开发时,我们经常需要根据屏幕的宽高来进行对view的适配,无论是自定义view还是andorid自带的一些控件,比如说需要占当前屏幕高度的30%,就需要获取到屏幕的宽高,但在获取宽高时我遇到了一些坑,总结如下 下面两种方法都是安卓自带方法可以获取到屏幕宽高的 但是!

    2024年02月11日
    浏览(46)
  • 基于Scrcpy的Android手机屏幕投影到电脑教程

    在执行某些项目的时候,有了获取手机屏幕画面的需求,遂整理了一下这方面的电脑教程。 在经过多次比较之后,选择了投屏效果比较好Scrcpy做为手机屏幕投屏的软件。 1.软件下载 scrcpy官网 Windows软件下载 在这里可能需要翻墙,没有梯子的伙伴可以从我的网盘中下载。 链接

    2024年02月11日
    浏览(46)
  • Android Studio 中使用uiautomatorviewer插件

    Android Studio是Google官方提供的一款用于 开发Android应用程序 的集成开发环境(IDE),它基于IntelliJ IDEA开发而来,为开发者提供了完整的工具链,包括代码编写、调试、测试、性能优化等。 Android Studio集成开发环境具有以下特点: 提供强大的布局编辑器 :Android Studio提供了强大

    2024年04月11日
    浏览(35)
  • android adb命令获取处于当前屏幕的Activity

    android adb命令获取处于当前屏幕的Activity 使用adb命令:   输出,例如: ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Display #0 (activities from top to bottom):   * Task{38ef601 #5281 type=standard A=10450:com.example.myapplication U=0 visible=true visibleRequested=true mode=fullscreen translucent=false sz=1}     mResizeMo

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包