测试框架设计思想与 PageObject 改造实战

测试框架设计思想与 PageObject 改造实战

1. 简介

面对复杂的业务场景,简单的录制/回放速度快,但无法适应复杂场景,通过编写自动化脚本灵活,但工作量大且可维护性差。以往的封装技术(PageObject)可以适应各种UI场景,但结构松散,无法在多项目中迁移,因此,需要一种定制测试框架,可以弥补现有框架的缺点。

2. 框架封装思想

由于 UI 自动化测试框架围绕 UI 界面使用,因此,依旧选用 PageObject 设计模式对 UI 及测试进行封装,同时配合 Pytest 单元测试将脚本能够有效的组织、连贯应用起来,从而提高框架的可维护性和可读性。由于测试框架基于 PageObject 设计模式,主要方向为 PO 改进,数据驱动,异常处理等,比如:

  • 测试数据的数据驱动:将数据存储到外部 YAML 文件中,利用 YAML 工具进行数据读取;
  • 数据步骤的数据驱动:将操作步骤放到外部 YAML 文件中,利用 YAML 工具对操作步骤进行读取,用专门函数解析并实现操作步骤;
  • 自动化异常处理机制:对元素查找模块进行封装和改进,包括如何处理弹窗;

3. PageObject 改造

作为通用的 UI 测试框架, PageObjet 同时适用于 Web 自动化测试与 UI 自动化测试,其有如下优点:

  • 减少代码重复
  • 提高测试用例可读性
  • 提高测试用例可维护性

在测试用例中可以调用封装在 Page 层的方法完成业务功能的操作,一旦页面某个元素发生变化,只需要修改 Page 层的封装,无须修改测试用例的业务逻辑。使用 PO 编写的代码大大提高了代码的复用性,以及可维护性。

小结

在之前《Appium 自动化测试 PageObject 封装实战》小节中,我们已经通过实例完成了基于雪球 App 的首页,搜索页面的封装,并为了便于 driver 复用,封装了 BasePage 来初始化 driver,并且在执行测试用例的时候可以复用已有的 driver 实例。

在接下来的内容中,我们将基于 PO 封装模式着重探讨下:如何实现测试数据的数据驱动和测试步骤的数据驱动。

<p> 专刊包含了10+年经验测试架构师对测试职业发展的深度解读 帮助你掌握当下 BAT 流行的 App 自动化测试技术基础技能和工具使用;以及从入门到进阶的自动化测试实战经验,在面试中能够脱颖而出。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p> <p> <br /> </p>

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务