您的位置:首页 > 产品设计 > UI/UE

uiautomator中UiSelector学习笔记(3)

2014-04-17 20:13 435 查看

4.1版本

UiSelector为条件器,你在获得一个UiObject/UiCollection/UiScrollable对象时都要传入这样一个UiSelector对象进去。UiSelector对象里的方法就是添加各种条件。

 

text(String text)/textStartsWith(String text)/textContains(String text)

 

设置Text等于text字符串/以text字符串开始/包含text字符串

 description(String desc)/descriptionStartsWith(String desc)/descriptionContains(String desc)

设置Content-desc的值为desc/以desc开始/包含desc

selected(boolean val)/scrollable(boolean val)/checked(boolean val)/clickable(boolean val)/enabled(boolean val)/focusable(boolean val)/focused(boolean val)

 

设置selected/scrollable/checked/clickable/enabled/focusable/focusable/focused属性

 

index(int index)/instance(int instance)/packageName(String name)/className(String className)

 

设置index/instance/packageName/className属性值

buildSelector(int selectorId,Object  selectorValue)

 

 返回的还是UiSelector对象,传入的参数都会放在UiSelector中的变量mSelectorAttributes中,该变量为一个SparseArray数组中。

childSelector(UiSelector selector)

设置SELECTOR_CHILD的值

patternSelector(UiSelector selector)

设置SELECTOR_PATTERN的值

containerSelector(UiSelector selector)

设置SELECTOR_CONTAINER的值

fromParent(UiSelector selector)

设置SELECTOR_PARENT的值

cloneSelector()

复制当前UiSelector,产生一个新的UiSelector。

patternBuilder(UiSelector selector)/patternBuilder(UiSelector contain,UiSelector pattern)

暂时未知(用2个已知的匹配器构建出复杂的匹配器,得到的新匹配器要同时符合传进来的2个匹配器?)

getChildSelector()

在hashMap得到以SELECTOR_CHILD为key值的Selector对象

getPatternSelector()

在hashMap得到以SELECTOR_PATTERN为key值的Selector对象

getContainSelector()

在hashMap得到以SELECTOR_CONTAINER为key值的Selector对象

 

getParentSelector()

在hashMap得到以SELECTOR_PARENT为key值的Selector对象

 

 getInstance()

得到key=9个的值,整数值。找不到的话返回0

getString(int criterion)/getBoolean(int criterion)/getInt(int criterion)

得到key=criterion的值,找不到返回null/false/0

isMatchFor(AccessibilityNodeInfo info,int index)

判断info是否符合该匹配器所匹配的控件,index匹配SELECTOR_INDEX的值

matchOrUpdateInstance()

SELECTOR_INSTANCE和SELECTOR_COUNT是否相等,如果不相等就更新SELECTOR_COUNT的值

isLeaf()

方法名为叶子,看源码意思就是是否存在子节点和父节点。

hasChildSelector()/hasPatternSelector()/hasParentSelector()/hasContainerSelector()

存放属性的SparseArray对象是否包含SELECTOR_CHILD/SELECTOR_PATTERN/SELECTOR_PARENT/SELECTOR_CONTAINER对象

getLastSubSelector()

获得SELECTOR_CHILD对象,如果没有则获得SELECTOR_PARENT对象。深度遍历直到不存在SELECTOR_CHILD或SELECTOR_PARENT.返回该对象

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: