Postman使用
Pre-request Script
参考:
- Scripting in Postman
可以请求、集合或文件夹中添加Pre-request Script,在请求运行之前执行JavaScript
如设置变量值、参数、Header和正文数据,也可以使用Pre-request Script来调试代码,如将日志输出到Postman Console
执行顺序如下:
对于集合中的每个请求,脚本将始终根据相同的层次结构运行。 集合级脚本(如果有)将首先运行,然后是文件夹级脚本(如果有),然后是请求级脚本(如果有)。 请注意,此执行顺序适用于预请求脚本和测试脚本。
已例子来说,请求时可能会带上sign签名信息,而sign签名信息通常是url中请求参数按特定规则生成的
这个时候,就可以使用Pre-request Script了
如下的Post请求中,Header中需要带有sign等参数:
//uuidvar uuid ="";
pm.environment.set('uuid', uuid);//获取当前时间戳var timestamp =newDate().getTime();//添加timestamp到环境变量
pm.environment.set('timestamp', timestamp);// console.log("timestamp: " + timestamp)//随机字符串var noncestr =require('uuid');var mynoncestr = noncestr.v4().replace(/-/g,'');
pm.environment.set('mynoncestr', mynoncestr);// console.log("mynoncestr: " + mynoncestr);....//jsonvar jsonObj =..........;var data =JSON.stringify(jsonObj);
console.log(data);var signStr = uuid等字符串拼接..........;
console.log("signStr: "+ signStr);//signvar sign = CryptoJS.enc.Hex.stringify(CryptoJS.SHA512(signStr))
console.log(sign);
pm.environment.set('sign', sign);
然后再Header中设置如下:
获取url中的请求参数
参考:
- How to get to request parameters in Postman?
var query ={};
pm.request.url.query.all().forEach((param)=>{
query[param.key]= param.value;});
console.log("query = "+JSON.stringify(query));
版权归原作者 winfred_zen 所有, 如有侵权,请联系我们删除。