我正在使用Appium用Java编写针对移动应用程序的自动化测试。我与开发人员进行了交谈,以为元素创建AccessibilityIds,在Android中,它可以按预期与set String一起工作,但在iOS中,AccessibilityId包含其他字符。例如,我有TextField名称-在Android中,AccessibilityId为txtName
,在iOS中为Name txtName
。
这就是为什么我认为我需要使用contains
的原因。使用XPath,我会写
driver.findElement(By.xpath("//*[contains(@name, 'txtName')]"));
但是XPath相对较慢。如何使用AccessibilityId做到这一点?我正在寻找的粗糙示例
driver.findElementByAccessibilityId(/*HERE 'CONTAINS' W\ 'txtName'*/);
编辑:对我来说,使用在Android和iOS上均可使用的相同解决方案对我来说非常重要。我更喜欢AccessibilityId,因为代码更易于理解和快速