首页 > 其他分享 >Postman数据驱动详解

Postman数据驱动详解

时间:2022-12-06 19:23:22浏览次数:43  
标签:文件 Postman 数据 测试数据 详解 驱动 CSV data postman

数据驱动(读取外部数据)
相同的测试脚本使用不同的测试数据,数据的改变从而驱动自动化的执行,最终引起测试结果的改变
步骤:
1.执行单条接口用例,观察请求、响应格式。方便编写断言及确定变量

 

// 接口返回数据
{
    "code": 0,
    "data": {
        "province": "四川",
        "city": "成都",
        "sp": "联通"
    }
}

 


2.在Tests中编写断言脚本
根据需求来编写脚本。通常会判断状态码是否为200

 

// 断言脚本    
//验证每个手机号对应的返回数据中运行商信息是否和CSV文件中的一致
// eql()里面的 data 是 postman中自带的关键字,和响应值中的data无关
pm.test("验证每个手机号对应的返回数据中运行商信息是否和CSV文件中的一致",function(){
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.sp).to.eql(data.mobileOperator);
})

 


3.创建测试数据,并保存到文件中
测试数据保存为CSV格式或者json格式。
测试数据必须保证正确
CSV文件最后不要留空行
postman会把CSV文件中所有非数值的值自动加上引号,所以在CSV文件中非数值的值不用添加引号来包裹。CSV中的变量名之间和变量值之间都需要用英文逗号隔开

// CSV文件数据
//1.字符串无需添加引号,在导入postman后,postman会自动添加
mobileNumber,mobileOperator
13012345678,联通
13812345678,移动

 


4.执行接口,循环调用测试数据

 

 


选择对应的测试集 – run collection – 设置循环次数、间隔、选择保存测试数据的文件 – 勾选需要运行的接口 – run
选择导入数据文件后,最好预览确认数据是否正确
5.验证结果

读取数据文件中的数据
方法:
1.在请求参数(请求行、请求头、请求体)中,使用数据文件中的数据
使用{{}}来包裹CSV文件的 字段名 或 json 文件中的 key
2.在代码(断言、请求前置脚本)中,使用数据文件的数据
借助postman中的关键字 data 点 CSV文件的 字段名 或 json 文件中的 key

案例
使用 http://cx.shouji.360.cn/phonearea.php?number= 接口来验证手机号的运营商

//手机测试数据的csv文件。必须保证正确
mobileNumber,mobileOperator
13012345678,联通
13812345678,移动
18912345678,电信


//在postman中的断言脚本
// 验证每个手机号对应的返回数据中运行商信息是否和CSV文件中的一致
// eql()里面的 data 是 postman中自带的关键字,和响应值中的data无关
pm.test("验证每个手机号对应的返回数据中运行商信息是否和CSV文件中的一致",function(){
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.sp).to.eql(data.mobileOperator);
})

 

 

补充说明:
1.CSV文件的优缺点
优点:数据组织形式简单,适用于大量数据的场合
缺点:1.不支持bool类型数据(非数字值被postman读入后会自动添加"");2.不支持多参、少参、无参、错误参数的接口测试; 3.不支持复杂数据类型(嵌套字典、列表等)
2.JSON文件的优缺点
优点:1.支持bool类型;2.支持多参、少参、无参、错误参数的接口测试; 3.支持复杂数据类型
缺点:对于相同数据量,JSON文件的大小远大于CSV文件的大小
————————————————
版权声明:本文为CSDN博主「南宫柒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42831194/article/details/123809251

标签:文件,Postman,数据,测试数据,详解,驱动,CSV,data,postman
From: https://www.cnblogs.com/Wl55387370/p/16960254.html

相关文章

  • 详解redis网络IO模型
    前言"redis是单线程的"这句话我们耳熟能详。但它有一定的前提,redis整个服务不可能只用到一个线程完成所有工作,它还有持久化、key过期删除、集群管理等其它模块,redis会通......
  • 驱动设备dtsi文件
    /{ #address-cells=<1>; #size-cells=<1>; compatible="ralink,mtk7620a-soc"; cpus{ cpu@0{ compatible="mips,mips24KEc"; }; }; cpuintc:c......
  • 段码LCD液晶显示驱动IC-VK1088B 超小体积4*4MM 22*4点LCD液晶驱动,FAE技术支持
    产品品牌:永嘉微电/VINKA产品型号:VK1088B封装形式:QFN32(4MM*4MM) 概述:VK1088B是一个点阵式存储映射的LCD驱动器,可支持最大88点(22SEGx4COM)的LCD屏,也支持2COM和3COM......
  • Backbone 网络-ResNet v2 详解
    目录目录目录前言摘要1、介绍2、深度残差网络的分析3、OntheImportanceofIdentitySkipConnection4、OntheUsageofActivationFunctions4.1、ExperimentsonAc......
  • AD域控_下发打印机驱动
     1.1新建策略  1.2 策略设置       1.3链接GPO下发,在主域下面链接部署打印机策略  1.4客户端电脑重启即可看到新部署的打印机  ......
  • Linux下的压缩解压缩命令详解
    1.zip-rmyfile.zip./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip-o-d/home/sunnymyfile.zip......
  • Pixhawk控制电机命令pwm源码详解
    在用USB转串口连接好飞控板之后,可以在终端使用命令pwm来进行设置pwm的输出值例如:命令nsh>pwmtest–c13–p1200该命令用来测试通道1和3,并将他们的输出值设定为1200us。p......
  • 设计模式六大原则详解
    引言对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去。可是,在日常的打码中,用的做多的就是单例......
  • Android中的dumpsys命令详解
    1、命令说明dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息命令格式:adbshelldumpsys[systemserbices]2、系统服务查询如果直接运行adbshelld......
  • 详解监听MySQL的binlog日志工具分析:Canal
    Canal是阿里巴巴旗下的一款开源项目,利用Java开发。主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL。GitHub地址:https://github.com/alib......