我正在处理一个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”。
答案 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")