RobotFramework之如何使用数据驱动(十二)

学习目录

引言

数据驱动是什么?

非驱动方式测试案例

通过添加Template模板的方式,实现数据驱动

将参数放在变量文件中,实现数据驱动

引言

大家平时在写接口或者UI自动化用例的时候,是否遇到这种情况: 写了很多条用例,发现除了个别参数不同,其他的自动化代码完全一样,那能否提取出这些测试代码作为公共代码,并将不同的参数循环应用到公共代码中?

数据驱动是什么?

数据驱动,通常将测试数据与功能函数分离,测试数据一般存放在json文件、Excel 文件、txt文件、yaml文件或者python文件或者mysql数据库等数据源中。在自动化测试运行时,读取数据源中的数据,把数据作为参数传递到功能函数中运行多次。

数据驱动的优点:减少重复代码,提升维护效率。

非驱动方式测试案例

下面我们一起学习下使用RobotFramework(以下简称RF)框架来实现数据驱动的方式

在前面的文章中我们讲过使用RequestsLibrary实现了http接口的自动化用例,先看下面的几个测试用例:

以上3个测试案例,都是通过Get On Session关键字发送http的Get请求,通过观察发现,只有http请求的url不同,其他测试代码完全一样,此时我们可以提取相同的内容变成公用关键字。

1 通过添加Template模版的方式,改造为数据驱动

按照之前我们介绍的,创建关键字有几种方式,可在测试套件创建keyword,也可以创建resource文件然后再创建keyword,我们还是选择创建resource的文件的这种方式。

1 创建resource文件,并创建http的get请求的关键字如下图(具体步骤可参考之前文章):

2 在测试套件引用该resource文件,并使用创建好的关键字,此时3个用例被改造如下:

3 测试用例中通过添加Template模版的方式,改造为数据驱动,每一行为一个参数

4 选中该条用例执行,查看测试报告:虽然是一条用例但同样被执行了三次

2 将参数放在变量文件中,实现数据驱动

1 在工程test目录新建config目录,新建一个python文件,将上面这些url参数作为一个list变量放在python文件,如下:

2 在测试套件中引用该变量文件

3 在测试用例中通过FOR循环的方式让关键字调用这些参数

4 执行用例,检查报告如下: 发现第二个参数的用例报错了,后面的参数没有执行

此时我们可以使用Run Keyword And Ignore Error,忽略掉报错继续执行

执行结果如下:3个参数都执行了,第2条报错

当然还有其他方法来实现参数和函数功能分离的数据驱动方式,大家可以在实际项目中多尝试,多练习。

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科雷learning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值