UI Automator Viewer的使用

uiautomatorviewer是android SDK自带的工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。该工具位于SDK目录下的tools\bin子目录下。可以看到,它是通过bat文件启动的。

image.png

启动界面如下


image.png

整个界面分四个区域:
(1)工作栏区(上)
共有4个按钮。从左至右分别用于:打开已保存的布局,获取详细布局,获取简洁布局,保存布局。点击保存,将存储两个文件,一个是图片文件,一个是.uix文件(XML布局结构)
第二按钮(Device Screenshoot uiautomator dump)与第三按钮(Device Screenshoot with Compressed Hierarchy uiautomator dump –compressed)的区别在于,第二按钮把全部布局呈现出来,而第三按钮只呈现有用的控件布局。比如某一 Frame存在,但只有装饰功能,那么点击第三按钮时,可能不被呈现。

(2)截图区(左),显示当前屏幕显示的布局图片
(3)布局区(右上),已XML树的形式,显示控件布局
(4)控件属性区(右下),当点击某一控件时,将显示控件属性

image.png

第一次点击Device Screenshoot按钮时,将会报错,显示如下

image.png

原因是在于,uiautomatorviewer.bat中,需要知道SDK下的子目录platform-tools的路径,即bat文件中的“%prog_dir%”,因此我们需要修改uiautomatorviewer.bat中最后一行代码,将“%prog_dir%”替换为platform-tools的实际目录。

修改前

call "%java_exe%" "-Djava.ext.dirs=%javaextdirs%" "-Dcom.android.uiautomator.bindir=%prog_dir%" -jar %jarpath% %*

修改后

call "%java_exe%" "-Djava.ext.dirs=%javaextdirs%" "-Dcom.android.uiautomator.bindir=C:\Users\XXXXX\AppData\Local\Android\sdk\platform-tools" -jar %jarpath% %*

注:其中“XXXXX”为用户名

image.png

通过使用UI Automator Viewer,我们可以在没有代码的情况下,查看控件布局,并获取UI的ID,用于之后的脚本编写。

注:Android Studio中可以通过Android Device Monitor 调用UI Automator Viewer。

image.png
image.png

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,120评论 0 3
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    爱运动爱学习阅读 15,646评论 3 114
  • 第三次来重庆听老师分享讲课,每次感受都不同。以前我大部分时候都是一个人谁境转的人,现在大部分时间都在如如不动...
    细雨飞纷阅读 122评论 5 5
  • Kotlin Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的S...
    Rairmmd阅读 393评论 0 1