一. Android SDK自带的UI Automator Viewer
Android SDK自带了UI Automator Viewer, 这个Viewer运行比较慢, 而且与Appium有点不兼容, 所以在尽量在关闭Appium服务之后才打开使用, 打开的步骤如下:
- 打开Adnroid SDK目录下的tools目录
- 鼠标右键单击"uiautomatorviewer.bat", 选择"以管理员身份运行", 这样会减少遇到的问题
- 在界面的快捷图标栏点击下面所示的图标
4. 如果能读取当前App的界面, 直接点击界面元素就可以读取元素的属值
二. Macaca App-inspector
Macaca App-inspector除了支持Android之外,还支持iOS App的App元素查看, 但使用它需要额外安装与配置, 另外, 官方文档里写的配置步骤不全, 现在的版本上可以使用以下步骤来安装, 但未来的版本就不一琮可以了, 步骤如下:
- 保证已安装了Node.js, JDK, Android Studio, Gradle, 设置了JAVA_HOME, ANDROID_HOME, GRADLE_HOME, 并将各个主要运行文件的目录都加入到Path中
- 打开命令行窗口, 运行"npm install macaca-cli -g"
- 运行"macaca doctor", 保证环境已基本完备
- 运行"npm install app-inspector -g" 安装App-inspector
- 运行"adb devices" 获得Mobile 的 Serial ID
- 运行"app-inspector -u YOUR-DEVICE-ID", 然后一般这里都跑下下去的, 如果能用就不用进行下面的步骤了
- 如果运行时出现错误"app-debug.apk not found", 表明App-inspector在安装时没有调用Gradle来build好一个App-inspector的apk文件, 这样的话需要手工去补回这个build
- 实际上只要进入"C:\Users\[YourUsername]\AppData\Roaming\npm\node_modules\app-inspector\node_modules\uiautomatorwd", 运行"gradle"让Gradle build一次版本, 但比较坑的是App-inspector提供的build.gradle版本使用的脚本太旧, 与现在的Gradle 版本不兼容, 所以有机会是build不了的
- 如果build不了, 其它可以直接下载一个新的uiautomatorwd, 但这个包不能放在上面的那个目录内, 所以要先在 在命令行窗口用"CD \"回到根目录, 运行"npm i uiautomatorwd --save" 让Node.js安装一次uiautomatorwd
- 打开"C:\node_modules\uiautomatorwd\app", 把build目录整个复制到"C:\Users\[YourUsername]\AppData\Roaming\npm\node_modules\app-inspector\node_modules\uiautomatorwd"
- 再运行"app-inspector -u YOUR-DEVICE-ID", 如果成功运行的话会使用默认Browser打开一个url, 发现用IE是不能打开这个Inspector的,建议使用Chrome来打开对应提供的url