知名产品 web 自动化测试实战
霍格沃兹测试开发学社
ceshiren.com
课程目录
PageObject设计模式
课堂实战
实战讲解
目标
掌握PageObject设计模式
代码优化
“面条式”代码的问题
问题:
大段重复代码
无法适应 UI 变化
解决方案:PageObject 设计模式
马丁福勒个人博客
selenium 官网
PageObject 建模原则
属性意义
不要暴露页面内部的元素给外部
不需要建模 UI 内的所有元素
方法意义
用公共方法代表 UI 所提供的功能
方法应该返回其他的 PageObject 或者返回用于断言的数据
同样的行为不同的结果可以建模为不同的方法
不要在方法内加断言
添加成员时序图
页面对应类
页面操作对应方法
页面与对象的关联关系
PO 改造思路
练习1
构造PO模型
通讯录页面
首页
添加成员页面
构造测试用例
从首页添加成员
从通讯录页面添加成员
注意:实现先设置为空
PageObject对应类图
BasePage
继承
用类封装页面细节
属性:页面元素
方法:页面行为
练习2
代码优化
BasePage