PageObject设计原则


PageObject设计原则

写在前面

PageObject 的设计模式是 2013 年被国外大神 Martin Fowler 提出来的,其实也没有几年时间,但是它的思想还是很重要的,目前基本很多项目都采用了这个原则

基本思想就是代码逻辑和业务逻辑相分离

Martin Fowler 的观点

Martin Fowler 当年的 PageObject 的观点

  1. PageObject 提供的接口需要封装操作细节
  2. PageObject 中不需要对每一个元素进行封装,我们只需要封装我们需要的
  3. 当我们进行页面跳转时候,我们应该进入被跳转到的页面
  4. PageObject 应该要与断言相分离

PO 的 6 大原则

官网 PO 原则

  1. 一个 public 方法代表一个公共的服务。就是说一个方法代替页面上的某个操作
  2. PageObject 中的方法细节不可暴露在外,通过提供公共服务接口的形式提供给外部
  3. 一般不需要在 PageObject 中断言
  4. 当有页面跳转的操作时候,执行这个方法时应该在方法结束返回时能够跳转到另一个页面中
  5. 我们只需要对页面中我们需要的重要的内容进行封装
  6. 页面中相同的组件,但是不同的操作应该要被拆成不同的方法进行封装