UiSelector用于获取操作对象用于后续的操作,UiSelector 获取对象一般依具备两类,一类是控件属性,一类是控件层级关系。要想获取对象,就需要先了解一下,有哪些对象的属性可以供我们进行获取。
- index **为同一级别组件的编号
- instance **针对的是整个页面的同一类控件的序号
- text ** 文本
- class** 类
- package ** 包名
- Content-desc ** 内容可描述
- checkable** 可选
- checked ** 选中
- clickable **可点击
- enabled ** 可用
- focusable ** 可获得焦点
- focused ** 获得焦点
- Scrollable ** 可滑动
- Long-clickable ** 可长点击
- Password ** 隐藏明文
- Selected ** 选中
- Bounds ** 坐标
之后我们将查找的方法进行一下分类:
返回值 | API | 说明 |
UiSelector | text(String text) | 文本 |
UiSelector | textContains(String text) | 文本包含 |
UiSelector | textMatches(String text) | 文本正则 |
UiSelector | textStartsWith(String text) | 文本起始匹配 |
返回值 | API | 说明 |
UiSelector | description(String desc) | 描述 |
UiSelector | descriptionContains(String desc) | 描述包含 |
UiSelector | descriptionMatches(String regex) | 描述正则 |
UiSelector | descriptionStartsWith(String desc) | 描述起始字符匹配 |
返回值 | API | 说明 |
UiSelector | className(String className) | 类名 |
UiSelector | classNameMatches(String className) | 类名正则 |
返回值 | API | 说明 |
UiSelector | packageName(String name) | 包名 |
UiSelector | oackageNameMatches(String regex) | 包名正则 |
返回值 | API | 说明 |
UiSelector | resourceId(String id) | 资源ID |
UiSelector | resourceIdMatches(String regex) | 资源ID正则 |
返回值 | API | 说明 |
UiSelector | checked(boolean val) | 选择属性 |
UiSelector | clickable(boolean val) | 可点击属性 |
UiSelector | enabled(boolean val) | enable属性 |
UiSelector | focusable(boolean val) | 焦点属性 |
UiSelector | focusab(boolean val) | 当前焦点属性 |
UiSelector | longClickable(boolean val) | 长按属性 |
UiSelector | scrollable(boolean val) | 滚动属性 |
UiSelector | selected(boolean val) | 背景选中属性 |
返回值 | API | 说明 |
UiSelector | index(int index) | 检索 |
UiSelector | instance(int instance) | 实例 |
- 通过层级关系匹配控件(层级关系有:父节点,子节点,同胞节点,先辈节点,后辈节点)
返回值 | API | 说明 |
UiSelector | childSelector(UiSelector selector) | 子类 |
UiSelector | fromParent(UiSelector selector) | 父类 |
通过以上的的一些基础的打底,我们在后面学习Uiautomator 2.0 中的Byselector&By 的将会更加容易。