测试用例流程设计
- 现有测试用例的问题
- 可维护性不高
- 可读性较差
- 稳定性较差
- 用例结构设计
- 测试用例的编排
- 测试用例的项目结构
测试用例通用结构回顾
框架
- Pytest
- setup_mothod setup_class setup_module
- fixture
- JUnit4
- @BeforeClass、@AfterClass
- @Before、 @After
- TestNG
- @BeforeClass @BeforeMethod
- @BeforeGroup、@BeforeSuite
- JUint5:@BeforeAll @BeforeEach
web 自动化测试用例流程设计
类型 | 框架对应 | 作用 |
---|---|---|
前置 | setup_class/BeforeAll | 准备测试数据 实例的初始化 |
前置 | setup/BeforeEach | 恢复用例初始状态 数据清理(也可以在用例级别完成) |
后置 | teardown_class/AfterAll | driver进程退出 |
后置 | teardown/AfterEach | 恢复用例初始状态 数据清理(也可以在用例级别完成) |
- 恢复用例初始状态
-
- 用例1执行过程经过 A->B->C三个页面
-
- 用例2执行过程经过 A->B->C三个页面
-
- 用例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:测试用例
- main/java