【问题标题】:UIAutomatorViewer showing same resource id'sUIAutomatorViewer 显示相同的资源 id
【发布时间】:2019-01-02 16:54:58
【问题描述】:

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

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

有人可以帮我确定我面临的相同的资源 id 问题是在 Android 端还是我的 UIAutomator 无法正常工作并显示相同的 id?

出于安全考虑,我不能分享屏幕截图。

【问题讨论】:

    标签: appium appium-android


    【解决方案1】:

    不推荐使用 Xpath。原因是用于生成 XPath 的基础设施并不能保证 XPath 在两次不同的执行之间保持不变。

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

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

    【讨论】:

    • 谢谢。我会考虑要求开发人员添加 cont-desc,然后通过 findByAccessibilityId 访问元素。
    【解决方案2】:

    我要求我的开发人员始终将所有项目的 ID 放在屏幕上以实现自动化。如果在某些情况下他们不能这样做,还要与开发人员核实,那么在某些情况下可以使用 xpath。

    【讨论】:

    • 感谢回复,一定会要求开发者添加资源id的
    猜你喜欢
    • 1970-01-01
    • 2014-02-12
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多