首页 > 其他 > 详细

uiautomator中QueryControlller学习笔记(9)

时间:2014-04-20 19:09:20      阅读:689      评论:0      收藏:0      [点我收藏+]

4.1版本


QueryController主要是给UiSelector提供服务的类,将条件传入系统去查询AccessibilityNodeInfo信息。包访问权限,不提供给用户调用


clearLastTraversedText()/getLastTraversedText()


在UiDevice里有同名方法,如有不明白可回UiDevice学习笔记(1)查看


findAccessibilityNodeInfo(UiSelector)/findAccessibilityNodeInfo(UiSelector,Boolean)


调用translateCompoundSelector方法的接口,先得到根节点,然后将根节点,选择器,布尔值传入。主要作用参见translateCompoundSelector。boolean值默认为false.


findNodePatternRecursive(UiSelector,AccessibilityNodeInfo,int,UiSelector)


以传入的nodeinfo为基准,递归遍历其所有的子节点,直到找到符合UiSelector条件的对象并返回。


findNodePatternRecursive(UiSelector,AccessibilityNodeInfo,int)


同上,只是少了一个subSelector判断条件


formatLog()


Log辅助类,格式化日志输出


getAccessibilityRootNode()


在前面AccessibilityService中提到过getRootInActiveWindow()方法。实际上该方法就去去调用getRootNodeInActiveWindow()。


getCurrentPackageName()/getCurrentActivityName()


顾名思义,包名/activity名


getPatternCount()


得到条件的数目


getRootNode()


得到根节点


initializeNewSearch()


初始化4个变量,因为Selector是多种组合的,出错时,你无法判断是哪一个条件出错,通过下面4个变量,可以给每个条件标上索引,这样错处就会以索引标识。

private void initializeNewSearch() {
        mPatternCounter = 0;//匹配数量
        mPatternIndexer = 0;//匹配索引
        mLogIndent = 0;//Log索引
        mLogParentIndent = 0;;//父log索引
    }

translateCompoundSelector(UiSelector,AccessibilityNodeInfo,boolean)

translatePatternSelector(UiSelector,AccessibilityNodeInfo,boolean)

translateReqularSelector(UiSelector,AccessibilityNodeInfo)


UiSelector包含3中格式的selector,如下所示:


regular_selector = By[attributes... CHILD=By[attributes... CHILD=By[....]]]
pattern_selector = ...CONTAINER=By[..] PATTERN=By[instance=x PATTERN=[regular_selector]
compound_selector = [regular_selector [pattern_selector]]

所以要要想通过UiSelector获得对象,得分3中方法分别处理对应的字符串组合,然后再通过findNodePatternRecursive方法获得所需的子节点。




uiautomator中QueryControlller学习笔记(9),布布扣,bubuko.com

uiautomator中QueryControlller学习笔记(9)

原文:http://blog.csdn.net/itfootball/article/details/24176535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!