UIAutomatorViewer显示相同的资源ID

时间:2018-12-19 12:28:15

标签: appium appium-android

我一直在为使用Appium的应用程序进行Android自动化。每天都有新版本的应用程序出现,我必须使用自动化功能来检查代码是否有新修复。我面临的问题是,在当前的新版应用程序构建中,我需要在自动化中访问的所有按钮和字段的资源ID已变得相同。我可以使用Xpath访问某些元素,但是使用Xpath会使自动化变慢。

我使用UIAutomatorViewer来获取Xpath和资源ID。

有人可以帮助我确定我面临的相同资源ID 问题是否在Android端,或者我的UIAutomator是否不能正常工作并显示相同的ID?

出于安全考虑,我无法共享屏幕截图。

2 个答案:

答案 0 :(得分:1)

  

不建议使用Xpath。原因是用于生成XPath的基础结构不能保证XPath在两个不同的执行之间将保持不变。

我看到的唯一解决方案是让开发人员为每个元素添加唯一的自动化ID。您可以要求他们在其代码中添加唯一的 cont-desc 。然后,您将可以使用 findByAccessibilityId 访问元素。

MobileElement element = driver.findElementByAccessibilityId("SomeAccessibilityID");

答案 1 :(得分:1)

我要求我的开发人员始终将所有项目的ID放在屏幕上以实现自动化。另外,请与开发人员联系,以确保在某些情况下他们无法这样做,然后在某些情况下可以使用xpath。