无法访问由driver.findElementsbyClass()

时间:2019-01-12 18:30:00

标签: java android appium

我正在处理一个Android Test项目,我需要查看屏幕元素的资源ID。我通过driver.findElementsByClass()(使用AndroidDriver)获取元素;当我得到一个元素ID时,它是一堆数字和字母,而不是我在uiautomatorviewer中看到的资源ID。有没有办法检索元素的ID?

List<MobileElement> lst = new ArrayList<>();
lst = driver.findElementsByClassName("android.widget.EditText");
String id = lst.get(0).getid();

现在的id应该是“ txtpassword”,但是实际值为“ 6ef53974-c2e0-4c1c-af48-655169716864”。

1 个答案:

答案 0 :(得分:0)

您可以使用 Appium桌面检查器 uiautomatorviewer 查找元素的ID。您可以单击元素,并检查该元素是否可见 resource-id id cont-desc 。如果您没有唯一的ID或自动化ID,则可以要求开发人员将其添加到元素中。

  

不建议对appium使用 xpath 名称

如果在元素中找到 resource-id id ,则可以通过以下方式访问元素

MobileElement element= driver.findElementById(" element's id here");

如果看到 cont-desc 可用于元素,则可以通过以下方式访问elememt

MobileElement elemnt= driver.findElementByAccessibilityId(" element's automation id here")