课堂源码链接
https://github.com/ceshiren/HogwartsSDET16
PPT
官网链接
selenium 官方网站:/documentation/test_practices/encouraged/page_object_models/
马丁福勒个人博客
PageObject
PO设计思想
实战练习----对象建模
@startuml
participant 企业微信主页面 as main
participant 通讯录页面 as contact
participant 添加成员页面 as add_member
participant 添加部门 as add_department
main -> contact: 点击跳转通讯录
main -> add_member: 点击跳转添加成员
contact -> add_member: 点击跳转添加成员
contact --> add_department: 点击挑战添加部门
add_department --> contact: 返回通讯录页面进行断言验证
add_member -> contact: 返回联系页面进行断言验证
@enduml
PO六大原则
一定要活学活用,不要死搬硬套
原则解读
- 方法意义
- 用公共方法代表UI所提供的功能
- 方法应该返回其他的PageObject或者返回用于断言的数据
- 同样的行为不同的结果可以建模为不同的方法
- 不要在方法内加断言
- 字段意义
- 不要暴露页面内部的元素给外部
- 不需要建模UI内的所有元素
实战练习—自动化测试用例编写顺序
-
- 根据界面封装po类与方法,实现暂时设置为空。
-
- 梳理业务,编写用例
-
- 实现page内的方法,与自动化框架开始结合
-
- 调试
-
- 创建base_page,把所有公共的方法进行封装