无法在其他版本的android设备中运行appium自动化

时间:2019-01-18 09:53:49

标签: android ui-automation

我正在自动化一个移动应用程序。在大多数情况下,我都使用ID来查找元素。在找不到id的任何地方,我都使用了从Appium桌面应用程序中获取的XPath。但是,此XPath在另一版本的Android设备中正在更改。

有人可以协助我解决这个问题吗?我在这里很挣扎。

1 个答案:

答案 0 :(得分:0)

In such scenarios, here is what you can do
  1. 在不同的android设备上查找元素的xpath并在页面中声明它们 对象模型。

    @AndroidFindBy(xpath="//<xpath of the element>")  private MobileElement element1;

    @AndroidFindBy(xpath="//<xpath of the element>")  private MobileElement element2;

  2. 您可以在Page对象模型类中编写一个辅助函数,该函数将告诉您 屏幕上是否存在特定元素。

    公共布尔elementExist(Xpath xpath){         如果(!appiumDriver.findElements(xpath).isEmpty()){             LOGGER.info(“元素确实存在”);             返回true;         }其他{             LOGGER.info(“元素不存在”);             返回false;         }     }

然后,在测试用例中,您可以执行类似的操作

if(elementExist(element1)) {
  click(element1);
} else if (elementExist(element2)) {
  click(element2);
}...