首页 文章

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

提问于
浏览
1

有不同的方法可以在页面上找到元素( name, id, xpath, content-description, class name ) .

对于API> 18的设备, id 运行良好,但如果它是API <18,则需要将 content-description 添加到元素中 . 通过 name 查找元素看起来也不错,但不是我的情况 .

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

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

谢谢

1 回答

  • 2

    请避免使用xPath作为定位策略 . 如果应用程序处于活动开发/支持周期,则必须再次修补xPath时间 . 而是与开发人员一起提出定位策略并解释它的需求和目的

    我正在附上UIAutomator屏幕的屏幕截图,其中包含我们遵循优先顺序的标识符和定位器策略

    enter image description here

    • Resource-id - 除非不必要地填充,否则大多数情况下此元素保持唯一 . 此定位器通常保持唯一

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

    • 内容描述

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

    我建议尽量避免使用Xpath和协调定位器策略 . 最终在App生命周期中未通过测试

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

    IOS平台中的Accessibility id更好地映射到Android平台提到的上述定位策略之一 . 再次,这必须在项目kickstart期间得到良好/推动/同意,或者在你遇到挫折时可以出现:-)

    来自github的示例代码可能会提供帮助!

相关问题