我有2个本机应用程序(不是混合或本地反应),它们共享相同的设计,一个用于Android(JAVA),另一个用于IOS(OC)。现在我需要对这两个应用程序进行一些测试。我想用Appium做这件事。
Appium提供了许多方法来查找元素。要为这两个应用程序编写测试用例,我似乎可以使用AccessibilityId
。如果我要求开发人员在android和ios项目中添加相同的AccessibilityId
,那么我可以使用两个应用程序使用相同的测试代码。这是最佳做法吗?这可能会给android和ios开发团队带来很多努力来添加AccessibilityId
s
答案 0 :(得分:1)
是的,使用辅助功能ID是首选方法。 ID不必跨平台匹配。
您可以在类定义中使用FindBy标记定义这些元素,如下所示:
@iOSFindBy(id = "send_button")
@AndroidFindBy(id = "SEND")
private MobileElement sendButton;
您的行动代码将是:
sendButton.click()
有关这些标签及相关标签的更多信息,请访问PageFactory library docs。
如果你的ID匹配,你可以内联执行你的行动(下面的例子),但我通常更喜欢在我的方法之外定义我的元素。
driver.findElementById("send_button");
以上所有内容都可以使用xpath以及文档中提到的其他属性执行。
答案 1 :(得分:0)
对于Android应用程序,您可以使用uiautomatorviewer
来查找元素。
答案 2 :(得分:0)
由于同一个应用程序在2个不同的平台上运行,如果您的项目具有相同的奢侈品,则可以拥有相同的AccessibilityId(意味着ios和Android开发人员都在这方面工作)。 否则,使用具有不同对象repo / capbilities的相同逻辑测试脚本将对您有所帮助。