Unexpected error while obtaining UI hierarchy:使用uiautomatorviewer定位元素报错

1.问题描述

在使用Uiautomatorviewer 进行元素定位时,点击 快照 按钮出现以下错误:

2.发生原因

  Unexpected error while obtaining UI hierarchy(获取UI层次结构时发生意外错误)。

  发生这个错误一般是由这两种情况导致的:

  1.jdk版本问题 (1.9jdk是不兼容uiautomatorviewer的,1.8的支持,再向下是否兼容本人不太清楚,可自行尝试)

   2.android版本问题

       我这里发生这个报错就是因为这个原因:

       我使用的是android 9.0的设备,而uiautomatorviewer.bat不支持对9.0系统直接截屏(好像对8.0以后的android系统都不支持直接截屏)

 3.解决方案

      虽然不能直接进行截屏,但是我们可以间接来截屏:

      即:用Uiautomatorviewer去读取已经准备好的截图文件,从而进行元素定位

      具体办法如下:

      1.操作你的待测设备到你需要截图的界面

       2.点击Uiautomatorviewer的图标,可以看到Open UI dump Files需要两个文件:

              ScreenshotUI  XML  Dump,开始准备需要的文件

       确保你的pc已经安装adb工具,然后打开命令行工具,在Dos窗口中输入以下指令:

       获取UI XML Dump的指令

            adb shell uiautomator dump /sdcard/sc.uix(将uix文件转储到手机上,位置自己指定)

            adb pull /sdcard/sc.uix  e:/

       获取Screenshot的指令

           adb shell screencap  -p /sdcard/sc.png((将获取的截图文件转储到手机上,位置自己指定))

           adb pull /sdcard/sc.png  e:/

      具体看图:

     3.加载截图文件

    4.点击ok后,则可以正常加载文件

  • 13
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值