uiautomatorviewer获取控件元素增强版

优先级策略
1.如果只包含resource-id,且唯一,则直接用resource-id,其Xpath为://android.XX.XXX[@resource-id=\"com.duowan.mobile:id/rb_main\"]

2.如果只存在text,且唯一,则直接用text,其Xpath为://android.XX.XXX[@text=\"直播\"]

3.如果只存在content-desc,且唯一,则直接用content-desc,其Xpath为://android.XX.XXX[@content-desc=\"热门推荐\"]

4.如果不满足1/2/3,且存在resource-id、text、content-desc,三者取其二或者取其三能唯一定位,则其Xpath类似:

//X.XX.XXX[@resource-id=\"abc\" and @text=\"狂热\" and @content-desc=\"推荐\"]

5.如果不满足1/2/3/4,则递归地寻找其父节点,直到找到唯一。再从其父节点开始,取绝对路径(元素索引),加起来唯一定位,其Xpath类似:

//X.XX.XXX[@resource-id=\"android:id/list\"]/X.XX.XXX[1]/X.XX.XXX[2]

此处有同学有疑惑,再详细说一下:

比如要找A节点  A不能用上面的方法唯一定位,但是A有父节点 或父节点的父节点, 可以被唯一定位,则用离他最近的能唯一定位的父节点 加上从其到A节点的绝对路径来定位

6.以上全不满足,则给出其绝对路径(元素索引),来唯一定位,其Xpath类似:

//X.XX.XXX[1]/X.XX.XXX[2]/X.XX.XXX[5]/X.XX.XXX[2]
————————————————

链接:https://pan.baidu.com/s/1D430AyJCwhlRs0Qiz5OP7Q
提取码:x8cs

 

posted @ 2020-03-16 14:18  勇~勇  阅读(635)  评论(0编辑  收藏  举报