我有 2 个 native 应用程序(不是混合或 react native ),它们共享相同的设计,一个用于 Android(JAVA),另一个用于 IOS(OC)。现在我需要对这两个应用程序进行一些测试。我正在尝试用 Appium 来做到这一点。
Appium提供了很多查找元素的方法。要为这两个应用程序编写测试用例,我似乎可以使用 AccessibilityId
。如果我要求开发人员向 android 和 ios 项目添加相同的 AccessibilityId,那么我可以使相同的测试代码适用于这两个应用程序。这是最佳实践吗?这可能会给 android 和 ios 开发团队带来大量的精力来添加 AccessibilityId
s
最佳答案
是的,使用辅助功能 ID 是首选方法。 ID 无需跨平台匹配。
您可以在类定义中使用 FindBy 标记来定义这些元素,如下所示:
@iOSFindBy(id = "send_button")
@AndroidFindBy(id = "SEND")
private MobileElement sendButton;
您的操作代码将是:
sendButton.click()
有关这些标签和相关标签的更多信息,请访问 PageFactory library docs .
如果您的 ID 确实匹配,您可以内联执行操作(如下所示),但我通常更喜欢在方法之外定义元素。
driver.findElementById("send_button");
以上所有内容都可以使用 xpath 以及文档中提到的其他属性来执行。
关于appium - Appium查找元素的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824717/