• 如何在robotframework基础上使用数据驱动测试


    一.写在前面

    robotframework是很好用的关键字驱动测试框架,但是在实际工作中也有些地方使用不便,比如在我们设计参数校验测试case时,往往只是想修改校验参数类型而不得不做大量复制粘贴操作,最终导致了一个测试case中存在大量的冗余代码,而且如果在后续的使用中一旦出现变动,测试case将不便维护。

    针对此情况,想到了尝试在robotframework功能基础上封装了一个轻型框架,用来实现部分接口测试场景的数据驱动方式的自动化测试。

    二.所需组件说明

    1.python2.7

    2.robotframework

    3.依赖库

    Library RequestsLibrary

    Library Collections

    Library OperatingSystem

    Library Process

    Library String

    Library XML

    Library HttpLibrary.HTTP

    Library DiffLibraryLibrary 

    ../CustomKeyword.py(自定义依赖库)等等

    4.excel && txt

     

    三.测试用例工程说明

    test-xxx-xxx         //测试case工程名

    --→data                               //测试数据文件夹

            ---->api-test.txt            //供测试框架获取数据

            ---->api-test.xls           //方便tester进行case设计编辑

    --→testcase                        //测试框架文件夹

            ---->xxxxxx-api.txt  //接口测试框架

            --→start.sh                 //启动j脚本

    CustomKeywork.py            //自定义关键字库

    README.md                      //都知道

    1.data文件夹中存放测试数据

    2.testcase文件夹中存放测试用例实例,测试完成后的报告,启动脚本(其中txt文档为测试用例实例供robotframework调用,log.html,report.html,output.xml是测试报告,start.sh是启动脚本)

    3.自定义测试库(一些测试用的函数)

    data中存放的是具体接口的测试数据,可以使用excel对conf-api-test.xls进行配置也可以直接打开对应的txt进行编辑(注:最终工具执行测试时是读取txt文件,所以使用excel配置后需要用表格数据替换对应txt中的数据)

    excel查看

    不需要校验的内容使用?* 正则匹配掉

    txt查看

    其中数据分为四列

       第一列:用例名称

       第二列:用例执行开关(通过配置yes开启执行这条case,配置no不执行这条case)

       第三列: 输入数据(接口请求调用的数据)

       第四列:预期输出  

    四.架构工作流程

    五.代码说明

    1.图形化关键字图表说明

    调用库以及设置全局变量的操作不变

    2.自定义关键字说明

    3.第三方关键字说明

    变量赋值关键字

    字符串拼接关键字

    变量运算关键字

    if条件判断关键字

    continue关键字

    断言失败继续执行关键字

    正则匹配断言关键字

    4.使用GET请求方式的区别

    需要在请求调用之前,需要将unicode类型的输入数据转换成字典类型

    六.对比

    使用前

    使用后

    测试报告

    七.后续

    1.添加测试输出录制功能;

    2.标准化测试数据格式,可以实现多工具兼容使用;

    等等等等

  • 相关阅读:
    学习进度条05
    构建之法阅读笔记03
    子数组和最大值算法
    学习进度条04
    学习进度条03
    定制小学四则运算
    单元测试示例
    构建之法阅读笔记02
    学习进度条02
    decimal扩展方法(转换为字符串,去掉末尾的0)
  • 原文地址:https://www.cnblogs.com/flowertester/p/11355636.html
Copyright © 2020-2023  润新知