Android(安卓)UIAutomator 定位方式详解
16lz
2022-01-06
在 Android 的自动化测试中,有很多定位方式,如:id
、className
、AccessibilityId
、xpath
、AndroidUIAutomator
等定位方式。AndroidUIAutomator
是 Android 原生支持的,定位方式最强大,速度也是最快的,虽然与 xpath
类似,但比它更加好用,且支持元素全部属性定位,元素属性请参见以下截图。
定位方式
- 定位的说明
AndroidUIAutomator
是由UiSelector
对象构建的。支持的方法有:
index(index)----用当前对象在父对象集中的索引作为描述text(text)----最为常用的一种关系,用控件上的文本即可找到当前控件resourceId(id)----用当前元素 id 定位className(className)----描述一种类名为className的对象关系packageName(String name)----用包名作为条件描述description(desc)----不解释checked(boolean val)----描述一种check状态为val的关系。clickable(boolean val)----与checked类似,描述clickable状态为val的关系enabled(boolean val)----与checked类似,描述enabled状态为val的关系longClickable(boolean val)----与checked类似,描述longClickable状态为val的关系selected(boolean val)----描述一种选择关系# 其他一些详细方法,请查看 Android 源码中,UiSelector 类定义的方法
例子:
new UiSelector().text(text) # 使用元素 text 属性定位new UiSelector().resourceId(id) # 使用 id 属性new UiSelector().className(className) # 使用元素类型定位# 还可以元素多个属性自由组合new UiSelector().className(className).text(text)new UiSelector().resourceId(id).clickable(val)new UiSelector().resourceId(id).clickable(val)new UiSelector().className(className).text(text). longClickable(val)
更多相关文章
- android ListView根据字母排序和定位
- 程序结构设计理论(Android)
- Android应用程序与SurfaceFlinger服务的关系概述
- Android三种定位方式
- android Looper、Handler和MessageQueue关系
- android重要包的描述
- Android依赖注入:Google Guice on Android的使用及相关资源
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像