Python 测开28期 - WL - 学习笔记 - 测试用例流程设计

测试用例流程设计

  • 现有测试用例的问题
    • 可维护性不高
    • 可读性较差
    • 稳定性较差
  • 用例结构设计
    • 测试用例的编排
    • 测试用例的项目结构

测试用例通用结构回顾

框架
  • Pytest
    • setup_mothod setup_class setup_module
    • fixture
  • JUnit4
    • @BeforeClass@AfterClass
    • @Before@After
  • TestNG
    • @BeforeClass @BeforeMethod
    • @BeforeGroup@BeforeSuite
  • JUint5:@BeforeAll @BeforeEach
    95ce2bbb6bc686dda63c0a5bec7ff781.png

web 自动化测试用例流程设计

类型 框架对应 作用
前置 setup_class/BeforeAll 准备测试数据
实例的初始化
前置 setup/BeforeEach 恢复用例初始状态
数据清理(也可以在用例级别完成)
后置 teardown_class/AfterAll driver进程退出
后置 teardown/AfterEach 恢复用例初始状态
数据清理(也可以在用例级别完成)
  • 恢复用例初始状态
      1. 用例1执行过程经过 A->B->C三个页面
      1. 用例2执行过程经过 A->B->C三个页面
      1. 用例1执行完毕后,用例2执行会报错
  • 问题:单挑用例执行完成之后,如果不恢复下一条用例的开始状态,会影响下一条用例的执行
  • 解决方案
    • 每条用例执行完毕都quit(),但是影响执行效率
    • 封装一个方法,用例执行完毕后调用,回到初始状态
  • 数据清理
    • 清理策略、
      • 在前置处理中执行
      • 在后置处理中执行
    • 清理方式
      • 调用业务接口
      • 通过UI自动化方式操作
      • 连接数据库执行SQL—不推荐

web 自动化测试用例项目结构

  • python项目
    • page:页面对象
    • testcases:测试用例
    • utils:公共工具
    • log:日志信息
  • java项目
    • main/java
      • com.xxx.page:页面对象
      • com.xxx.utils:公共工具
      • resources:日志配置
    • test/java
      • com.xxx:测试用例