1.如何将接口中的同一个字段的数据循环取出来?
接口返回的数据结构如图,取出图中的所有的id,在接口请求的tests里放入如下代码
// new 一个对象接收响应信息
var jsonData = pm.response.json();
// new 一个对象接收 count 列表字段的长度(循环遍历次数)
var count = jsonData.data.list.length
// new 一个空列表(一会接收并存储id)
var list = []
// 开始 for 循环遍历 num 列表
for(var i=0; i < count; i++ ){
// 使用变量 ids 接收所有id的信息
ids = jsonData.data.list[i].id
// 使用空列表 list 存储遍历的id
list.push(ids)
};
// 控制台打印formid列表
console.log("查看当前页id:",list)
2.如何循环入参?
如何将上一个接口获取到的接口参数多次循环入参,没有查找到别的好办法,目前先用下面的方法代替。
2.1 放在一个text.json文件里面,结构如下
2.2 创建一个collection,下面创建一个request
2.3 runcollection
3.全局变量的设置
//设置当前时间戳
postman.setGlobalVariable("time",Math.round(new Date().getTime()/1000));
time = postman.getGlobalVariable('time')
//设置KEY_WORD为全局变量
postman.setGlobalVariable("Key","xxxx")
KEY_WORD = postman.getGlobalVariable("Key");
//字符串进行md5加密
var str = KEY_WORD+time;
var strmd5= CryptoJS.MD5(str).toString();
postman.setGlobalVariable("sign",strmd5)
//获取随机字符串
postman.setGlobalVariable("random_num", ("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4));
//随机数
var test = parseInt(Math.random()*9);
//打印出生成的随机数,便于调试
console.info("随机生成test为",test)
//将生成的随机数设置为全局变量
postman.setGlobalVariable("Num", test);
3.断言
3.1判断响应status是2or0,均为通过
pm.test("Status是否等于0", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.status).to.be.oneOf([0,2])
});