Selenium | PageObject原则

本文详细介绍了Selenium的PageObject设计模式的六大原则,包括公共方法封装、页面细节隐藏、断言与操作分离、返回新页面、重要元素建模和多结果封装。通过实例展示了如何在首页、登录和注册页面应用这些原则,并提供了相应的代码示例。文章还提到了霍格沃兹测试学院的相关资源,以帮助读者深入学习软件测试与测试开发的进阶技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文节选自霍格沃兹测试学院内部教材
PageObject 的核心思想是六大原则,掌握六大原则才可以进行 PageObject 实战演练,这是 PageObject 的精髓所在。

Selenium 官方凝聚出六大原则,后面的 PageObject 使用都将围绕六大原则开展:

  1. 公共方法代表页面提供的服务
  2. 不要暴露页面细节
  3. 不要把断言和操作细节混用
  4. 方法可以 return 到新打开的页面
  5. 不要把整页内容都放到 PO 中
  6. 相同的行为会产生不同的结果,可以封装不同结果
    下面,对上述六大原则进行解释:
  • 原则一:要封装页面中的功能(或者服务),比如点击页面中的元素,进入到新的页面,就可以为这个服务封装方法“进入新页面”。
  • 原则二:封装细节,对外只提供方法名(或者接口)。
  • 原则三:封装的操作细节中不要使用断言,把断言放到单独的模块中,比如 testcase。
  • 原则四:点击一个按钮会开启新的页面,可以用 return 方法表示跳转,比如return MainPage()表示跳转到新的 PO:即 MainPage。
  • 原则五:只为页面中重要的元素进行 PO 设计,舍弃不重要的内容。
  • 原则六:一个动作可能产生不同结果,比如点击按钮后,可能点击成功,也可能点击失败,为两种结果封装两个方法,click_successclick_error

案例

以企业微信首页为例,企业微信首页有二个主要功能:立即注册和企业登录。

企业微信网址:https://work.weixin.qq.com/

Index 页面

点击企业登录可以进入登录页面,在页面可以扫码登录和企业注册。

Login 页面

点击企业注册可以进入注册页面,在页面可以输入相关信息进行注册。

Register 页面

用 PageObject 原则为页面建模,这里涉及三个页面:首页,登录,注册。在代码中创建对应的三个类 Index、Login、Register:

  • 登陆页⾯提供 l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值