软件测试 / 测试开发丨 Web 自动化 PageObject 设计模式
获取更多相关知识
本文为霍格沃兹测试开发学社学员学习笔记分享,文末附原文链接
Page object 设计模式
目录
page object 模式简介
page object 设计原则
page object 模式简介
马丁福勒个人博客:PageObject
selenium 官网:/documentation/test_practices/encouraged/page_object_models/
传统 UI 自动化的问题
无法适应 UI 频繁变化
无法清晰表达业务用例场景
大量的样板代码 driver/find/click
POM 模式的优势
降低 UI 变化导致的测试用例脆弱性问题
让用例清晰明朗,与具体实现无关
POM 建模原则
字段意义 不要暴露页面内部的元素给外部 不需要建模 UI 内的所有元素
方法意义 用公共方法代表 UI 所提供的功能 方法应该返回其他的 PageObject 或者返回用于断言的数据 同样的行为不同的结果可以建模为不同的方法 不要在方法内加断言
POM 使用方法
把元素信息和操作细节封装到 PageObject 类中
根据业务逻辑,在测试用例中链式调用
示例展示
官网示例(Java): > PO设计模式 | SeleniumSelenium logo green
搜索场景:传统线性脚本(Python)
传统测试用例
复制代码
搜索场景:POM 脚本(Python)
股票页面 PageObject
复制代码
搜索场景:测试用例(Python)
PO 模式测试用例
复制代码
传统脚本(Java)
复制代码
PageObjcet(Java)
复制代码
复制代码
PageObject 版本测试用例(Java)
复制代码
评论