当appium的UIAutomator中列表视图中的两个元素的resource-id相同时该怎么办?
在下面的图片中: -
这两个元素具有相同的资源ID:-net.one97.paytm:id / smart_list_root
答案 0 :(得分:0)
在这种情况下,您可以使用xpath或名称,如下所示:
方式1:
driver.findElement(By.xpath("//android.widget.TextView[@text='Mobile Prepaid']"));
driver.findElement(By.xpath("//android.widget.TextView[@text='Mobile Postpaid']"));
方式2:
driver.findElement(By.name("Mobile Prepaid"));
driver.findElement(By.name("Mobile Postpaid"));
答案 1 :(得分:0)
使用xpath获取文本:
String text = driver.findElement(By.xpath("//android.widget.RelativeLayout")).getText();
比较文本并选择正确的UIElement以执行所需的操作。
if(text.equals("Mobile Prepaid")){
......
}
答案 2 :(得分:0)
将文本视图的xpath的多个元素作为
"//android.widget.TextView[@text='Mobile Prepaid']"
希望它能运作
答案 3 :(得分:0)
您可以使用By.name
之类的,
driver.findElement(By.name("Mobile Prepaid"));
driver.findElement(By.name("Mobile Postpaid"));
答案 4 :(得分:0)
String ac = driver.findElement(By.xpath("(//*[@resource-id = 'account-balance-amount'])[1]")).getText();
String ac = driver.findElement(By.xpath("(//*[@resource-id = 'account-balance-amount'])[2]")).getText();