• 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条报错

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

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

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

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

  • 相关阅读:
    python -- 计算有效波高、平均波高
    使用vue-cli搭建spa项目
    5-2:servlet中重写doGet和doPost方法并使用Post测试GET、POST请求
    java毕业设计校园闲置物品租售系统mybatis+源码+调试部署+系统+数据库+lw
    序列标注理解
    剖析一下“抢茅台“脚本底层逻辑
    Ps 滤镜:旋转扭曲
    【LaTex】 - 对齐符号&的用法,换行符\\的用法,Misplaced &错误怎么解决
    Qt 读写 xml 文件
    RL Note 1, Basic Concepts in Reinforcement Learning
  • 原文地址:https://blog.csdn.net/kymppcds/article/details/134482211