自动化测试:数据驱动和POM

本文介绍了数据驱动测试(ddt)和页面对象模型(POM)在自动化测试中的重要实践。数据驱动测试允许测试脚本与数据分离,提高灵活性和测试覆盖率,而POM则通过封装页面元素和操作,使测试代码更清晰和可复用。示例展示了ddt的使用方法以及页面对象模型的结构。这两个技术结合使用,能有效提升测试效率和质量。
摘要由CSDN通过智能技术生成

本章节主要内容

数据驱动(ddt)

页面对象模型POM

数据驱动

数据驱动:从数据文件读取输入数据,而后将测试数据传入测试脚本,不同的数据对应不同的测试用例,达到数据和脚本分离的效果。

▲ 优点:

数据与测试脚本分离,从而可以在不修改测试脚本的情况下通过更新测试数据完成对测试用例的增加、更改和删除;
通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例;
提高了测试脚本的灵活性,增加测试覆盖面,以及提高应对测试对象变更的能力;

数据驱动-ddt

  1. ddt装饰器装饰测试类;

  2. data、file_data,、uppack装饰器装饰测试方法

  3. 测试数据通过data或file_data装饰器传输给测试方法

  4. 运行时需要运行整个测试类

▲ 示例:

@ddt
class Test112(unittest.TestCase):
data0=[(1,1),(3,4),(5,6)]
@data(*data0)
@unpack
def test11(self, data1,data2):
self.assertEquals(data1,data2)
左右拉动查看完整代码

POM页面对象模型

Page Object设计模式是一种面向对象的设计模式,将测试对象及单个的测试步骤封装在每个page类中,以页面为单位进行管理。

页面对象与用例分离,使得我们更好的复用对象;
可复用的页面方法代码会变得更加优化;
业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰
更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素

页面基类:封装页面类公共的方法和属性;
页面类:继承页面基类,并管理当前页面的元素及操作;
测试类:继承TestCase类,实现测试用例的组织;

▲ 示例:

BasePage:百度网站各页面通用的操作等;
SearchPage:管理搜索页面的元素和操作;
TestSearchPage:对搜索页面进行测试;

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值