uiautomatorviewer介绍

本文介绍如何使用uiautomatorviewer工具分析Android应用的UI组件,包括获取UI快照、检查布局层次及组件属性等,为编写UI自动化测试用例提供便利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分析应用的UI界面

 

在写测试用例之前,你最好熟悉待测应用的UI组件(包括视图views和控件controls)。uiautomatorviewer可以帮助你实现这一点,uiautomatorviewer获取当前UI界面的快照,提供一个可视化的界面,来检查布局层次、查看每一个显示在设备上的UI组件的属性。在以后的uiautomator测试中,你可以利用uiautomator提供的信息来选择特定的UI组件。

 

1  uiautomatorviewer捕获的测试设备的界面

 

分析待测程序的UI组件的步骤: 
     1. android设备连接到有开发环境机器上 
     2. 打开命令行终端窗口,进入android sdk tool所在目录 
     3. 运行以下命令: 
           $ uiautomatorviewer 
     4. 捕获到待分析的界面后,点击设备快照“Device Screenshot”按钮 
         注意:如果你连接了多个设备,需要指定ANDROID_SERIAL 环境变量,来说明对哪个设备进行截屏: 
                  a. 运行以下命令,找到你的设备序列号 
                       $ adb devices 
                  b. 设置环境变量ANDROID_SERIAL 
                       windows上: 
                              set ANDROID_SERIAL=<device serial number> 
                       *nix上: 
                              export ANDROID_SERIAL=<device serial number> 
          如果你只连接一个设备,则不需要设置 


      5. 查看应用的UI属性 
          1. 在快照的左侧面板上,可以看到uiautomatorviewer显示的UI组件;在右侧,下边是组件的属性,上边是布局的层次 
          2. 你也可以点击”Toggle NAF Nodes“按钮,来显示uiautomator框架无法访问的UI组件。对于那些组件,只有有限的属性信息可以供uiautomator使用。

### uiautomatorviewer 使用指南和功能介绍 #### 工具概述 `uiautomatorviewer` 是一款由 Google 提供的强大工具,旨在帮助开发者轻松获取 Android 应用程序的视图层次结构及其属性信息[^1]。 #### 启动方式 为了启动 `uiautomatorviewer` ,可以通过命令行输入如下指令: ```bash $ adb shell uiautomator dump /sdcard/window_dump.xml && adb pull /sdcard/window_dump.xml . ``` 不过更为简便的方法是从 Android SDK Tools 文件夹下直接双击运行该应用程序即可打开图形化界面[^3]。 #### 主要特性 - **捕获屏幕快照**:允许用户抓取正在运行的应用界面上的内容作为 XML 格式的文件保存下来以便后续分析。 - **可视化编辑器**:提供了直观易用的图形界面来展示所捕捉到的画面以及对应的控件树状结构。 - **节点详情面板**:当鼠标悬停于某个具体组件之上时,在右侧会显示出详细的属性列表,包括 bounds (边界), resource-id , text 等重要参数。 #### 高级选项 对于某些特殊情况下可能遇到不可见或难以定位的对象,“Toggle NAF Nodes”按钮可以帮助标记这些潜在问题区域。尽管有时看起来似乎不起作用,但实际上它能够辅助开发人员发现那些未设置可访问性的 UI 组件,并提醒团队员注意改进[^4]。 #### 实际应用场景 借助上述提到的功能特点,可以更加精准地编写基于 UI 的自动化脚本,提高测试效率的同时也增强了代码质量。例如,通过组合使用 id 或者其他唯一标识符构建复杂的查询语句,从而实现对特定元素的操作验证等功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值