uiautomator中UiSelector学习笔记(3)

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.返回该对象




 

你可能感兴趣的:(UiAutomator,android自动化测试,UiSelector)