控件的全部属性均可以用做判断,好比它的text,index,resource-id是否clickable等,例如:python
1
2
|
el
=
driver.findElementByXPath(
"//android.widget.TextView[contains(@text,'note2')]"
);
assertThat(el.getText(),equalTo(
"note2"
));
|
1
2
|
el
=
driver.findElementByXPath(
"//android.widget.TextView[contains(@index,0)]"
);
assertThat(el.getText(),equalTo(
"note2"
));
|
那么咱们就要想办法加多点路径,让xpath能分辨出须要的是下面的index为0的TextView,而不是上面的。观看上图的 UIAutomatorViewer控件的分层结构,发现这两个TextView是从LinearLayout开始分叉的,因此咱们应该从该路径开始经过 数组下标指定咱们须要的是”在LinearLayout下面的第二个FrameLayout下面的ListView下面的Index为0的 TextView:android
1
2
|
el
=
driver.findElementByXPath(
"//android.widget.LinearLayout[1]/android.widget.FrameLayout/android.widget.ListView/android.widget.TextView[contains(@index,0)]"
);
assertThat(el.getText(),equalTo(
"note2"
));
|