辅助工具UI Automator Viewer的使用

本文详细介绍如何启动UIAutomatorViewer,并提供其常用功能及操作技巧。包括通过命令行或直接双击启动的方法,以及如何获取手机界面信息,进行元素识别与控制。同时,文章还分享了使用resource-id定位元素的技巧,以及在资源ID缺失时的解决策略。

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

一、如何运启动UI Automator Viewer?

方法1:若已将Android sdk 加到了path变量中,可直接在终端命令行中输入 uiautomatorviewer 即可启动。

方法2:进入到android sdk的安装目录下,找到tools文件夹,里面可以看到/sdk/tools/uiautomatorviewer,双击该程序即可。

二、UI Automator Viewer 常用功能

  • 打开要查找UI元素的界面后,点击左上角工具栏的 “Device screenshot”(绿色按钮),即可获取当前连接的手机界面信息。

1)连接电脑的手机需要打开[开发者选项->允许USB调试]的开关。

2)绿色的按钮()识别出来的元素信息都Android系统的,全部可以UI自动化来控制。(界面出来之后,就可以拔掉手机啦。)

3)红色的按钮()识别出来的元素信息既包括Android系统的,也包括手机硬件(e.g.键盘),这样会导致部分元素无法控制,所以不常用。

  • 连接成功后,如上图所示,界面分为三个部分:手机界面区域;/当前界面的布局层级关系;/当前选中控件的属性信息。

1)鼠标在左侧界面区域滑动可以直观的看到当前定位的是哪个位置(红色虚线框标识),且右侧区域会随之变动;

2)若要观察某一个元素的层级关系以及属性信息,可以点击该元素(红色实线框标识),此时,在界面中滑动鼠标时,右侧的数据不会变来变去了;

3)界面布局层级关系视图中,可以看到当前选中的元素,其父节点和子节点的名称、内容、边界坐标等信息。

4)当前选中的控件的属性信息,UI自动化中常用的就是resource-id  和  class(class在Xpath路径中会用到)。

三、其他Tips

1)尽量所有的元素都用resource-id来识别,若当前元素没有resource-id的值,可以向上找该元素的父节点,若父节点也没有,可以找父节点的父节点,直到找到有resource-id的层级为止。

2)同一个页面中,一个list view下有多条list,各条list的resource-id都一样(e.g. 通话记录列表),这种情况下可以让开发添加,或用文案定位,用Xpath路径来定位。   注:上面示例中,‘android.widget.LinearLayout’就是class对应的内容,‘@’后面是属性,咱们只用resource-id就可以了。‘/class’后面若没有属性信息[@resource-id],默认表示寻找第一个。

3)Xpath中的第一层级的类就以当前页面中有唯一resource-id的类为起始,保证能定位到当前元素即可。

更多Xpath语法学习可参考http://www.w3school.com.cn/xpath/xpath_syntax.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值