1. UiObejct.getFromParent()的用法:从这个名字就知道,就是从当前对象的父对象中查找想要的子对象,该子对象和当前对象应该是同一层级。
如上图所示:Max inactivity before lock是已知条件,4 minutes是我想动态获取的内容。那应该怎么做呢?
先看看结构:TableLayout(curent index is 2) - TableRow(has several indexes) - TextView(has 2 indexes)。
1.先获取TableLayout index为2的那个对象
2.遍历TableLayout里面的TableRow,获取TableRow(i)里头的TextView(0)的text
3.当TextView(1)的text内容为“Max inactivity before lock”,则可以确定我们所要的那个TableRow了。(其实就是找对应的index)
4.然后我们就使用当前对象的getFromParent()方法去查找TextView(1)的text,这样就可以取到我们想要的值了。
//查找TableRow中index为0的TextView的值等于\"Max inactivity before lock\"的对象
if(passcodePolicyName.getText().contains(\"Max inactivity before lock\")) {
//使用getFromParent()和getText()方法获取当前对象同级的TextView,index为1的那个对象的text值。passcodePolicyName.getFromParent等同于TableRow(1)对象
String actualValue = passcodePolicyName.getFromParent(new UiSelector().className(\"android.widget.TextView\").index(1)).getText();
if(actualValue.equals(expectedValue)) {
System.out.println(policyName + \" check: Pass.\");
} else {
System.out.println(policyName + \" check: Failed.\");
}
}
}
本文地址:https://www.stayed.cn/item/9931
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我