1. 认识你的UI“透视眼”:uiautomatorviewer到底是什么?
如果你刚开始接触Android自动化测试,尤其是用UI Automator写脚本,那你一定遇到过这样的烦恼:面对手机屏幕上密密麻麻的按钮、文本框、列表,我怎么才能让代码“认识”它们,并准确地点击、输入或者滑动呢?难道要靠猜坐标吗?那换个分辨率不同的手机,脚本不就全乱套了?
别担心,Google早就为开发者准备了一个“神器”——uiautomatorviewer。我第一次用这个工具的时候,也觉得它的名字又长又拗口。后来我把它拆开看:UI Automator Viewer,意思就很清楚了,它就是UI Automator测试框架的“查看器”或者说“透视眼”。它的核心使命,就是帮你把手机屏幕上的界面,像X光一样“透视”出来,让你清清楚楚地看到每一个控件的“骨骼”和“身份证信息”。
你可以把它想象成一个给App界面做“体检”的扫描仪。当你启动它并连接上手机后,它能瞬间抓取当前屏幕的完整快照,并解析出构成这个界面的所有UI控件,以一棵清晰的“树”状结构(我们常说的View Hierarchy或布局层次结构)展示出来。这棵树上每一个“枝丫”和“叶子”,都是一个具体的控件,比如一个按钮(Button)、一段文本(TextView)或者一个容器(LinearLayout)。更重要的是,点击树上任何一个控件,你都能在旁边看到它的详细“档案”:它叫什么名字(resource-id)、它是什么类型(class)、它属于哪个App(package)、它上面显示的文字是什么(text)、它的屏幕坐标在哪里(bounds)…… 所有这些信息,正是你编写UI Automator自动化脚本时,用来精准定位和操作控件的关键依据。
所以,无论你是测试工程师、开发工程师,还是对自动化感兴趣的学习者,只要你需要和Android App的界面打交道,uiautomatorviewer都是一个绕不开的、极其基础和重要的工具。它上手简单,但功能强大,能极大地提升你编写和调试自动化脚本的效率。接下来,我就带你深入它的核心功能,并分享一些我踩过坑才总结出来的实战经验。
2. 从零开始:环境搭建与工具启动
工欲善其事,必先利其器。在让uiautomatorviewer为你工作之前,得先把它请到你的电脑上并成功运行起来。这个过程可能会遇到一些小波折,别担心,我一步步带你走通。
2.1 必备环境清单
首先,确保你的电脑上已经安装了以下两样东西,缺一不可:
- JDK 1.8:这是硬性要求。uiautomatorviewer本身是一个Java写的图形化工具,它依赖于特定版本的Java运行环境。我实测过,用更高版本的JDK(比如JDK 11或17)很可能导致工具无法启动,或者启动后出现各种奇怪的错误。所以,老老实实安装JDK 1.8,并配置好
JAVA_HOME环境变量,这是最稳妥的。 - Android SDK:uiautomatorviewer是Android SDK工具集的一部分。你需要下载并安装Android SDK(或者直接安装Android Studio,它会自带SDK)。安装后,关键是要找到SDK的安装路径,因为uiautomatorviewer的可执行文件就藏在里面。
你的操作系统可以是Windows、macOS或者Linux,工具本身是跨平台的。
2.2 两种启动方式,总有一种适合你
安装好环境后,怎么打开它呢?通常有两种方式。
方式一:通过命令行(最通用) 这是最直接的方法,不依赖任何IDE。你需要找到uiautomatorviewer可执行文件的位置。它通常位于Android SDK目录下的 tools/bin 子文件夹里。
- Windows:
{你的SDK路径}\tools\bin\uiautomatorviewer.bat - macOS/Linux:
{你的SDK路径}/tools/bin/uiautomatorviewer
你可以直接双击这个.bat或可执行文件来运行。但更常见的做法是在终端(或命令提示符)里操作,特别是当你想把SDK工具目录加入系统PATH环境变量时。如果没配置PATH,你就需要先cd到上述bin目录,再执行./uiautomatorviewer(macOS/Linux)或uiautomatorviewer.bat(Windows)。
方式


1万+

被折叠的 条评论
为什么被折叠?



