app自动化——测试框架优化

一、打造测试框架的需求与价值

  • 领域模型适配:封装业务实现,实现业务管理
  • 提高效率:降低用例维护成本,提高执行效率
  • 增强功能:解决已有框架不满足的情况

二、自动化测试框架应具备的能力

  • 支持管理用例、执行用例
  • 支持查找元素/定位元素,以及对元素的各种操作(点击、输入、滑动)
  • 支持生成测试报告
  • 能够实现功能复用,(比如登录)
  • 当页面有异常弹窗时,可以进行有效处理
  • 当用例失败时,需要添加失败的日志、集团等信息,并附在测试报告中
  • 支持设备并发
  • 支持平台化
  • ···

三、自动化测试框架实现

功能 实现
管理用例,运行用例 pytest
查找、定位元素 appium、selenium
测试报告 allure
功能复用 PO实现
异常弹窗 编写装饰器自动捕获
失败的日志、截图 编写装饰器自动捕获
多设备并发 selenium grid
平台化 VUE+Flask/Django

四、项目结构

结构 内容
框架层 文件解析、日志收集、ini配置文件、数据驱动、用例数据、报告管理
基础层 基础driver封装、元素查找封装、元素操作封装、领域模型封装
业务层/PO层 Page封装、首页PO、通讯录PO、添加联系人PO、编辑联系人PO
测试用例层 测试用例集、添加联系人用例、编辑联系人用例

4.1、框架封装

  • 异常处理(弹窗黑名单)
  • 日志记录
  • 报告生成
  • 数据驱动

4.2、报告生成

  • 异常日志
  • 异常截图
  • 测试用例步骤
  • 测试描述
  • bug,issue 关联
  • 用例分类(feature,story,step 等)

4.3、参数化与数据驱动

  • 支持支持测试用例 / 步骤层级的参数化驱动配置
  • 配置方式包括三个部分
    • 参数定义(指定名字)
    • 数据源指定(指定 yaml 文件 /或者其它格式文件)
    • 数据源准备(无论是从线上环境 捞的数据,还是自己创建的测试数据)

五、总结

  • 自动化测试框架应具备的功能
  • 自动化测试框架优化(在 PO 的基础上,添加异常处理,日志,报告 ,截图,参数化与数据驱动等)逐步的将框架完善
1 个赞