Android UIAutomator 定位方式详解

在 Android 的自动化测试中,有很多定位方式,如:idclassNameAccessibilityIdxpathAndroidUIAutomator等定位方式。AndroidUIAutomator是 Android 原生支持的,定位方式最强大,速度也是最快的,虽然与 xpath 类似,但比它更加好用,且支持元素全部属性定位,元素属性请参见以下截图。

Android UIAutomator 定位方式详解_第1张图片
Android 定位界面

定位方式

  1. 定位的说明
    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 UIAutomator 定位方式详解)