哪个选择器最适合Appium测试不同版本的设备?

时间:2014-08-14 21:37:01

标签: java android ios web-applications appium

在页面上查找元素有多种方法(名称,ID,xpath,内容描述,类名)。

对于具有API>的设备18, id 效果很好,但如果它是API< 18您需要在元素中添加内容描述。通过名称查找元素看起来也不错,但不是我的情况。

之前我从未使用过 xPath ,现在它看起来是最好的选择。

我正在编写一个使用Appium的自动化应用程序,允许测试人员同时在多个Android设备上测试应用程序。因此,我希望有一种最适合所有方法的方法,而不是为每个版本编写不同的测试类/方法。

由于

1 个答案:

答案 0 :(得分:2)

请避免使用xPath作为定位策略。您将不得不修补xPath time&如果应用程序处于活动开发/支持周期,则再次。取而代之的是开发人员与他人的定位策略。解释需要&它的目的

我正在附上UIAutomator屏幕截图,上面有标识符&我们遵循优惠顺序的定位策略

enter image description here

  1. 资源ID - 大多数情况下,此元素保持唯一,除非不必要地摆弄。此定位器通常保持唯一

  2. 占位符文本a.k.a文本也可以很好地为您提供定位器策略,但同样应该在项目kickstart期间达成一致。很难维护(代码)来自不同屏幕的类似元素的不同定位器策略

  3. 内容说明

  4. Class&的组合如果以上所有策略都失败,索引也可以很好地为您服务

  5. 我建议避免使用Xpath&尽可能多地协调定位策略。最终在App生命周期中未通过测试

    如果应用程序是跨平台的,它是一个完全不同的球类游戏。你需要有共同的定位策略。对于Ex: - 辅助功能ID(IOS)与Resource-id(Android)

    不同

    IOS平台中的Accessibility ID更好地映射到Android平台提到的上述定位器策略之一。同样,这必须得到同意和在项目kickstart或挫折期间计划好/推/同意的权利可以在你出现时出现: - )

    来自github的示例代码可能会有所帮助!