Appium Android8 以上使用 UIautomator Viewer 查看元素代替 Appium Inspector

Lyzin · 2020年08月12日 · 最后由 Lyzin 回复于 2020年08月17日 · 6013 次阅读

一、使用 Appium inspector 不方便之处

  • 每次连接 App 需要填写一堆 Appium Desired Capabilities,略显麻烦
  • 在使用 Appium inspector 连接手机查看 App 的元素,操作测试 App 到下一个页面,点击 inspector 的刷新以后会看到左侧 App 视图一直在转圈,等很久也更新不过来,所以考虑换用 Android SDK 里的 uiautomatorviewer 来获取 App 页面元素
    • 测试了 Appium1.17、1.18 版本,点击更新都一直在转圈,等的花都谢了~

二、使用 uiautomatorviewer 时发现的问题

1、最常见的一个问题就是:Android8 及以上的系统无法获取到页面,提示报下面的错误

三、如何解决

1、下载新的 tools,在下面链接里找到 SDK tools 下载

http://www.android-studio.org/

2、替换电脑里已安装 Android SDK 目录里的 tools 目录

  • 将原来的 tools 改个名字,不用删除,相当于备份,影响点就是根目录下的 SDK Manager.exe 暂时无法打开,点击以后黑屏一闪而过
  • 然后将上面下载的 sdk tools 解压复制到 Android sdk 根目录下

3、工具准备完毕,就来试试,新的 uiautomatorviewer 目录在

android-sdk\tools\bin

4、打开 uiautomatorviewer.bat,前提是连接好手机,点击下图红框的图标

5、等待 uiautomatorviewer 工具对 App 截图获取页面资源,嗒哒~,App 的页面出来了

6、到这就可以开始做 App 自动化了,比 Appium inspector 快多了
7、至于 App 切换了一个新页面,如何获取新页面的元素,按第 4 步点击红框里的内容重新获取元素即可
8、目前在 8.1、9.0、10 试了下,均可以使用

四、其他

1、新的 tools 和原来的 tools 里的 uiautomatorviewer 有什么区别

  • 因为对 Android 的 uiautomatorviewer 了解较少,不是很清楚 uiautomatorviewer 和 Android 版本对应的关系,在 Android studio 下载哪里找到了最新的 sdk tools 测试了下发现 Android8 以上可以用,如果有哪位朋友了解,欢迎科普~

2、其他的解决办法,参考:

https://www.jianshu.com/p/a7e272754cf5 App 处于横屏的状态可以考虑用这种办法

python 下的 weditor 包也支持 App 元素获取

3、获取 App 页面元素的方法有很多,找到一款适合自己的就行

4、如果新的 tools 里的 uiautomatorviewer 打开后获取页面元素提示没找到 adb,可以在 platform-tools 目录下将 adb 的这几个依赖放到新的 android-sdk\tools\bin 目录中,重新打开 uiautomatorviewer 获取页面元素

共收到 4 条回复 时间 点赞

用 monitor

支持一下,欢迎分享!

K 回复

你这个是 Android Studio 的 monitor 吧

simple 回复

哈哈,谢谢~

Lyzin appium 1.18.0 桌面版,inspector 启动时 中提及了此贴 09月02日 20:03
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册