Appium找到元素的最佳做法
问题描述:
我有2个本地应用程序(不是混合或反应本机),它们共享相同的设计,一个用于Android(JAVA),另一个用于IOS(OC)。现在我需要为这两个应用程序做一些测试。我试图用Appium来做到这一点。Appium找到元素的最佳做法
Appium提供了很多方法来查找元素。为这两个应用程序编写测试用例,似乎我可以使用AccessibilityId
。如果我要求开发人员将同样的AccessibilityId
添加到android和ios项目中,那么我可以对这两个应用程序使用相同的测试代码。这是最佳做法吗?这可能会带来很多努力Android和iOS开发团队添加AccessibilityId
s
答
是的,使用辅助功能ID是首选的方法。这些ID不需要跨平台匹配。然后
@iOSFindBy(id = "send_button")
@AndroidFindBy(id = "SEND")
private MobileElement sendButton;
你的动作代码将是::
sendButton.click()
更多关于这些标签信息和相关的人可以
您可以如下定义与FindBy标记这些元素在你的类定义发现在PageFactory library docs。
如果你的ID确实匹配,你可以在内部执行你的动作(下面的例子),但我通常更喜欢在我的方法外定义我的元素。
driver.findElementById("send_button");
上面的所有内容都可以用xpaths以及文档中提到的其他属性来执行。
答
由于同一个应用程序在2个不同的平台上运行,如果您的项目具有这种奢华(意味着ios和android开发人员都在这方面工作),您可以拥有相同的AccessibilityId。 否则具有相同的逻辑测试脚本和不同的对象回购/权限将帮助你。
tnx的一个测试代码。你的示例代码是java,对吧? – Leon
是的。我发现它是Appium支持的最佳语言。 –