【selenium】po设计模式

PO设计模式简介

全称page object。是自动化测试项目的设计模式之一。

PO设计模式优点

业务流程与页面元素、操作细节分离,降低代码冗余,更好的复用对象。

封装的元素、方法,更加有效的命名方式。使元素定位和操作含义便于识别,代码逻辑清晰、易读。

某个定位元素的属性改变,只需要更改封装好的元素。测试步骤的变化,只需更改测试用例的调用逻辑。代码的可维护性增强。

PO设计六大原则

1、The public methods represent the services that the page offers 公共方法表示页面提供的服务

使用基类(BasePage)封装页面中要使用的方法,作为公共方法,其他页面继承基类的方法。

2、Try not to expose the internals of the page 不要暴露页面细节

如元素 、元素的定位方法等,只提供接口(方法)供测试用例使用,测试用例和页面对象(操作细节)相隔离。

3、Generally don't make assertions Page 不要在方法内加断言

断言相关的测试代码应该写在测试用例类中,不要写在页面中。

4、Methods return other PageObjects 方法返回其他页面对象

使用方法进行页面之间的关联、跳转。通常页面的方法返回其他页面或者需要断言的数据。

5、Need not represent an entire page 不需要代表整个页面

只需要对页面中需要使用的元素进行封装即可,不需要封装整个页面的内容。

6、Different results for the same action are modeled as different methods 同一动作的不同结果被建模为不同的方法

相同的操作带来的不同的结果可以封装成不同的方法。

PO设计分层模型

表现层:页面中可见的元素。(封装定位元素的方法)

操作层:对页面可见元素的操作。点击、输入文本、获取文本等。(封装对元素的操作)

业务层:上面两层的组合,将一个或多个操作组合起来完成一个业务功能。(页面类的方法,也可以是多个页面的组合)

测试用例就是组合了一个或多个页面的方法,操作对应的元素,完成测试。测试用例本身不在PO模式内。

PO设计项目结构

页面层

基类通常进行初始化操作和封装公共方法。

被测项目的一个页面是一个类,一个.py文件。每个页面是继承基类的子类。封装重要的页面元素为属性,一系列的操作细节实现的一个功能组成一个方法。通常页面的方法返回其他页面或者需要断言的数据。

测试用例层

测试用例不包含任何页面元素和操作细节,直接链式调用封装好的页面方法,实现完整的业务流程,最后进行断言。

数据层

测试用例需要调用的参数化数据,可以为excel、yaml等格式。

测试完成后的log信息、测试报告等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值