PO模式
PO是page object的缩写, PO模式是自动化测试项目开发实践的最佳设计模式之一
核心思想是通过对界面元素的封装减少冗余代码, 同时在后期维护中, 若元素定位发生变化, 只需要调整页面元素封装代码, 提高测试用例的可维护性, 可读性
PO模式可以把一个界面分为三层, 对象库层, 操作层, 业务层
- 对象库层: 封装定位元素的方法
- 操作层: 封装对元素的操作
- 业务层: 将一个或多个操作组合起来完成一个业务功能, 比如登录, 需要账号, 密码, 点击登录三个操作
1. 引入PO模式的好处
引入PO模式前:
- 存在大量冗余代码
- 业务流程不清晰
- 后期维护成本大
引入PO模式后:
- 减少冗余代码
- 业务代码和测试代码被分开, 降低耦合性
2. PO模式的六大版本
- V1: 不使用任何设计模式和单元测试框架
- V2: 使用pytest管理用例
- V3: 使用封装的方法, 对代码进行优化
- V4: 采用PO模式的分层思想对代码进行切分
- V5: 对PO分层之后的代码继续优化
- V6: PO模式深入封装, 把共同操作提取封装到父类中, 子类直接调用父类的方法
1. V1版本
不使用任何设计模式和框架和单元测试框架
每个文件里编写一个测试用例, 完全的面向过程的编程方式
- 存在的问题
- 一条测试用例对应一个文件, 用例较多时不方便管理和维护
- 代码高度冗余
2. V2版本
- 优点
- 方便组织, 管理多个测试用例
- 方便对用例测试结果进行断言
- 方便生成测试报告
- 减少了代码冗余
- 缺点
- 存在代码冗余
3. V3版本
- 缺点
- 如果前端页面的元素信息发生了变更, 那么自动化代码就需要去更新元素, 而且是只要能用到这个元素就要去更新, 维护不方便
- 针对登录的代码, 存在大量的冗余