25.测试用例流程设计

发布时间 2023-12-29 14:22:03作者: 想要暴富的小男孩

目录

 
  • 测试用例通用结构回顾
  • web自动化测试用例流程设计
  • web自动化测试用例项目结构

现有测试用例的问题

 
  • 可维护性不高
  • 可读性较差
  • 稳定性较差

用例结构设计

 
  • 测试用例的编排
  • 测试用例的项目结构

自动化测试用例流程-回顾

 

web自动化测试-用例设计

 
类型框架对应作用
前置 setup_class/BeforeAll 准备测试数据
实例的初始化
  setup/BeforeEach 恢复用例初始状态
数据清理(也可以在用例级别完成)
后置 teardown_class/AfterAll driver进程退出
  teardown/AfterEach 恢复用例初始状态
数据清理(也可以在用例级别完成)

恢复用例初始状态

  1. 用例1 执行过程经过A->B->C 三个页面
  2. 用例2 执行过程经过A->B->C 三个页面
  3. 用例1 执行完成之后执行用例2
title 不恢复初始状态
participant 页面A as p1
participant 页面B as p2
participant 页面C as p3

p1 -> p2: [用例1]步骤1
p2 -> p3: [用例1]步骤2
p3 x-> p2: [用例2]步骤1
title 恢复初始状态
participant 页面A as p1
participant 页面B as p2
participant 页面C as p3

p1 -> p2: [用例1]步骤1
p2 -> p3: [用例1]步骤2
p3 -> p1: 前置或后置步骤恢复到初始页面
p1 -> p2: [用例2]步骤1
p2 -> p3: [用例2]步骤2

恢复用例初始状态

 

问题:单条用例执行完成之后如果不恢复下一条用例的开始状态(回复用例初始页面),则会影响下一条用例的执行。

  • 解决方案:
    • 每条用例执行完成都quit()(影响执行效率)
    • 封装一个方法,用例执行完成之后回到首页

数据清理

 
  • 清理策略
    • 在前置处理中执行
    • 在后置处理中执行
  • 清理方式
    • 调用业务接口
    • 通过UI自动化方式操作
    • 连接数据库执行SQL(不推荐)

web自动化测试项目结构

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