Appium找到元素的最佳做法

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以及文档中提到的其他属性来执行。

+0

tnx的一个测试代码。你的示例代码是java,对吧? – Leon

+0

是的。我发现它是Appium支持的最佳语言。 –

对于Android应用程序,您可以使用uiautomatorviewer找到元素。

+0

我想要非常多的android和ios – Leon

由于同一个应用程序在2个不同的平台上运行,如果您的项目具有这种奢华(意味着ios和android开发人员都在这方面工作),您可以拥有相同的AccessibilityId。 否则具有相同的逻辑测试脚本和不同的对象回购/权限将帮助你。