数据驱动(读取外部数据)
相同的测试脚本使用不同的测试数据,数据的改变从而驱动自动化的执行,最终引起测试结果的改变
步骤:
  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);
})

postgres数据驱动包_postman

补充说明:
1.CSV文件的优缺点
  优点:数据组织形式简单,适用于大量数据的场合
  缺点:1.不支持bool类型数据(非数字值被postman读入后会自动添加"");2.不支持多参、少参、无参、错误参数的接口测试;  3.不支持复杂数据类型(嵌套字典、列表等)
2.JSON文件的优缺点
  优点:1.支持bool类型;2.支持多参、少参、无参、错误参数的接口测试;  3.支持复杂数据类型
  缺点:对于相同数据量,JSON文件的大小远大于CSV文件的大小