淘先锋技术网

首页 1 2 3 4 5 6 7

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]) 
});