console.debug("--------------------start--------------------");
try{
//秘钥
var secretKey = "8YfPw4s6YLcYyLc8";
console.debug("secretKey:" + secretKey);
//设置请求时间戳
var signed_at = Math.round(new Date().getTime()/1000);
pm.globals.set("signed_at", signed_at);
console.debug("signed_at:" + signed_at);
//请求参数
var data = {};
//GET
if(pm.request.url.query instanceof Object){
pm.request.url.query.each(function(obj){
if(obj.disabled === undefined) data[obj.key] = obj.value;
});
}
//POST
if(pm.request.body.formdata instanceof Object){
pm.request.body.formdata.each(function(obj){
if(obj.disabled === undefined) data[obj.key] = obj.value;
});
}
console.debug("data:" + JSON.stringify(data));
//参数排序
var params = [];
for(var key in data){
if(key != "sign") params.push(key);
}
params.sort();
console.debug("params:" + params);
//拼装字符串
var str = '';
params.forEach(function(value){
str += value;
data[value] = data[value] ? data[value] : "";
if(data[value].indexOf("{{")!= -1){
str += pm.globals.get(data[value].replace(new RegExp('(\{|\})', "g"),""));
}
else{
str += data[value];
}
});
str = secretKey + str + secretKey;
console.debug("str:" + str);
//生成签名
var sign = CryptoJS.MD5(str).toString();
pm.globals.set("sign", sign);
console.debug("sign:" + sign);
}catch(err){
console.error("Pre-Request Script " + err.name + ":" + err.message);
}
console.debug("--------------------done--------------------");
最近越来越懒了,能截图就截图,反正网上一大把教程,记录下只是作为自己的记录,还有有心人的共同学习
1,pre-request scripts前置条件的使用
如上图
2,test results后置条件的使用
两种获取token的方法:
方法一,控制台打印
console.log(pm.request.url);
var jsonData = pm.response.json();
pm.globals.set("token", jsonData.data.token);
方法二,直接data获取
var data = JSON.parse(responseBody);
pm.globals.set("new_paas_token",data.data.token)