Selenium Web自动化测试——基于unittest框架的PO设计模式

PO设计模式(PageObjectModel)是SeleniumWeb自动化测试中的最佳实践,它解决了传统方法中易用性差、扩展性不好、复用性差和可维护性差的问题。通过将页面元素定位和业务操作分离,提高了代码的清晰度和维护性。文章介绍了PO模式的核心组件,包括BasePage基类和Page页面模块,以及如何在TestCase用例模块中使用。还提供了一个简单的登录页面实例来展示PO模式的应用。

 

目录:导读

前言

PO设计模式

PO设计模式核心组件

PO模式简单实例

写在最后


前言

  前面一直在讲接口自动化测试框架与案例分享,很少讲Selenium这个Web自动化测试神器。它主要用来做UI自动化测试,大家都知道UI自动化测试成本相当高,一般的Web自动化测试我是一直不建议做的。

  虽然不推荐,但是这里有一个设计思想是不错的——PO设计模式。

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!

PO设计模式

  PO设计模式,英文名称:Page Object Model。PO设计模式是Selenium自动化测试中最佳的设计方式之一。相比传统设计中:页面定位元素→输入数据→操作元素→断言结果,会有以下问题:

  1、易用性差:杂乱无章的定位元素方法,例如:find_element;

  2、扩展性不好:用例孤立,无法扩展;

  3、复用性差:无公共方法,很难服用;

  4、可维护性差:一旦元素变化或测试步骤变化,需要维护大量代码和用例;

针对上面一些弊端,做了一些优化:

  POM设计模式,将页面定位和业务操作分开,将元素定位和测试方法分离,从而提高代码的维护性。而传统的POM是元素定位和测试方法放在一起,如下图:

这样做的优势:

  1、页面元素定位和业务操作方法分离,使得代码更加清晰,减少冗余代码;

  2、测试方法单独抽离,这样提高用例的可读性;

  3、针对ui变化频繁的项目和测试步骤的变化,提高了测试用例的维护性;

一条测试用例可能需要多个步骤操作元素,将每一个步骤单独封装成一个方法,在执行测试用例时调用封装好的方法进行操作。PO模式可以把一个页面分为三个层级,对象库层、操作层、业务层。

  对象库层:封装定位元素的方法。

  操作层:封装对元素的操作。

  业务层:将一个或多个操作组合起来完成一个业务功能。

PO设计模式核心组件

  画一个操作如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值