Page Object 设计模式 与 实战
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Page Object 设计模式 与 实战相关的知识,希望对你有一定的参考价值。
PO设计模式
PO(page object)设计模式是在自动化中已经流行起来的一种易于维护和减少代码的设计模式. 在自动化测试中, PO对象作为一个与页面交互的接口. 测试中需要与页面的UI进行交互时, 便调用PO的方法. 这样做的好处是, 如果页面的UI发生了更改,那么测试用例本身不需要更改, 只需更改PO中的代码即可.
PO设计模式具有以下优点:
- 测试代码与页面的定位代码(如定位器或者其他的映射)相分离. 该页面提供的方法或元素在一个独立的类中,
- 而不是将这些方法或元素分散在整个测试中.
思想:
- 封装操作细节
- 对核心的模块 进行封装page
- 跳转另一个页面后 需要 返回新页面的另一个页面对象
- test_case断言和page分开
- 有 UI界面都可以使用 Page Object 进行封装
六大原则
-
公共方法来表示UI页面提供的服务
-
一般不要在方法内加断言
-
方法返回其他的PageObject 或者返回用于断言的数据
-
相同行为的不同结果被建模为不同的方法
-
尽量不要公开页面的内部内容
-
不需要代表整个页面
传统测试用例的问题
- 无法适应UI变化,UI变化会导致大量的case需要修改
- 无法清晰表达业务用例场景
- 大量的样板代码 driver find click
参考:https://www.selenium.dev/documentation/zh-cn/guidelines_and_recommendations/page_object_models/
以上是关于Page Object 设计模式 与 实战的主要内容,如果未能解决你的问题,请参考以下文章
Selenium4+Python3系列 - Page Object设计模式