知名产品 web 自动化测试实战

霍格沃兹测试开发学社

ceshiren.com

课程目录

  • PageObject设计模式
  • 课堂实战
  • 实战讲解

目标

  • 掌握PageObject设计模式
  • 代码优化

“面条式”代码的问题

  • 问题:
    • 大段重复代码
    • 无法适应 UI 变化

解决方案:PageObject 设计模式

PageObject 建模原则

  • 属性意义
    • 不要暴露页面内部的元素给外部
    • 不需要建模 UI 内的所有元素
  • 方法意义
    • 用公共方法代表 UI 所提供的功能
    • 方法应该返回其他的 PageObject 或者返回用于断言的数据
    • 同样的行为不同的结果可以建模为不同的方法
    • 不要在方法内加断言

添加成员时序图

  • 页面对应类
  • 页面操作对应方法

页面与对象的关联关系

PO 改造思路

练习1

  • 构造PO模型
    • 通讯录页面
    • 首页
    • 添加成员页面
  • 构造测试用例
    • 从首页添加成员
    • 从通讯录页面添加成员
  • 注意:实现先设置为空

PageObject对应类图

  • BasePage
    • 继承
  • 用类封装页面细节
    • 属性:页面元素
    • 方法:页面行为

练习2

  • 代码优化
    • BasePage