• 【Appium】踩坑记录:android8以上Uiautomatorviewer报错Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException


    android8以后sdk自带的uiautomator直接打开,截取不到机器界面信息

    经过网上的查阅,总结了几个解决的方法。

    方法1:

    现在D盘下根目录下新建screen.png和screen.uix两个文件。(这个方法一定要关闭appium,因为uiautomatorviewer 和appium 是会起冲突的)然后打开cmd 输入

    1.截取uix资源文件

    adb shell uiautomator dump /sdcard/screen.uix

    adb pull /sdcard/screen.uix D:/screen.uix

    2.截取截图

    adb shell screencap -p /sdcard/screen.png

    adb pull /sdcard/screen.png D:/screen.png

    3.运行sdk/tools目录下的uiautomatorviewer.bat,导入从设备获取的截图和资源文件;

    这里如果想要切换屏幕在定位的话,就又需要在继续的导入文件有些麻烦。(这个不是很完美的解决方法,但可以将就使用)

     

    方法2:其他博客说可以通过SDK Manager.exe,来安装对应手机版本号的安卓包来解决此问题。但经过我的实践并没有解决,感兴趣的同学可以去测试下。

    方法3:

    如果前两种都不能解决这个问题,那只能退而求其次使用低版本的手机进行元素定位了。低版本还是没有问题的,可以直接定位元素且不需要每次切图在导文件。

    方法4:

    如果只能使用Android8.0及以上手机定位的话。那我推荐你去使用Appium inspector,可以解决Android 高版本元素定位的问题

    首先打开appium后,开启服务。点击右上角的搜索符号,进入到下图填入配置信息进行保存

     

     切换手机内容后只需要点击刷新按钮即可同步刷新

  • 相关阅读:
    查缺补漏中~~
    The number of divisors(约数) about Humble Numbers
    Octorber 21st
    素数回文
    盐水的故事
    居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2
    税收与补贴问题(洛谷1023)
    斐波拉契高精度(洛谷1255)
    高精度模板
    Codeforces#373 Div2
  • 原文地址:https://www.cnblogs.com/mumuluo/p/14361667.html
Copyright © 2020-2023  润新知