1、从登录动态获取token,传给环境变量,再获取环境变量的token进行下一个操作
var jsonData=pm.response.json();
pm.environment.set("token", jsonData.data["token"]);
2、接口断言操作成功
pm.test("供应商结算发起审批", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("操作成功");
console.log(jsonData.message);
});
当返回的结果是有层级关系,要进行断言时,要看层级关系里是否是数组形式
(1)是数组形式
(2)不是数组形式
4、对导出文档接口进行接口测试
选择send测试结果会显示乱码,要选择send and download,可以将导出文档进行下载查看是否正确
5、对导入功能接口进行测试
6、断言数组长度是否符合要求
使用length进行获取数组长度,在控制台上打印出结果
pm.test("分页长度显示正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.items.length).to.eql(10);
console.log('分页长度:'+jsonData.data.items.length)
});
7、断言一个数组内每一个键值里的某一个元素都等于某个值
使用for循环加if判断语句
pm.test("支付方式", function () {
var jsonData = pm.response.json();
var num = jsonData.data.items.length;
for(i=0;i<num;i++){
var pM = jsonData.data.items[i].payMethod
if(pM == 1){
pm.expect(pM).to.eql(1);
console.log(pM)
};
};
});
8、
8、run集合的时候,集合中有接口需要上传数据
(1)先将要上传的文档保存成csv格式
(2)将文档保存在postman的文件夹中
(3)接口里文档字段名,和要导入的文档要先配置好
(4)然后进行run
9、for循环嵌套断言
var jsonData = pm.response.json();
num = jsonData.data.items.length;
for(var i=4; i<num; i++){
if(jsonData.data.items[i].clientName !== undefined){
pm.environment.set("clientName", jsonData.data.items[i].clientName);
console.log(jsonData.data.items[i].clientName);
if(jsonData.data.items[i].tag[0] !== undefined){
pm.environment.set("tag", jsonData.data.items[i].tag[0].name);
console.log(jsonData.data.items[i].tag[0].name);
break;
}
}
};
注意:json返回字段值为空,在postman里对应undefined
终止for循环的方式:( 终止for循环的方式这部分内容来自终止for循环的方式_LDG1998的博客-CSDN博客_结束for循环的方式)
continue:当程序运行到 continue; 语句时,会终止当前的这一次循环,进入下一次的循环中,例如i=1循环时执行到continue,则跳过后续语句,进行i=2的循环
break:当程序运行到 break; 语句时,会结束当前的循环,执行循环后面(外边)的语句。如果多层循环,只会退出当前的循环,执行该循环后的语句,外循环不受影响
return:当程序运行到 return; 语句时,会终止循环,结束当前方法。
10、断言if判断失败,Test Results显示错误图标以及提示
var jsonData = pm.response.json();
if(jsonData.data.items[0] !== undefined){
pm.test("验证成功,筛选数据不为空")
}
else pm.test("验证失败,筛选有误",function(){
pm.expect(1).to.eql(2);
})