postman使用脚本生成参数和接口嵌套批量执行
一、使用脚本自动填充数据
编写脚本
脚本代码
// 获取时间 var moment = require("moment"); var data = moment().format("YYYY-MM-DD HH:mm:ss"); //定义时间格式 console.log(data); pm.globals.set("TIME", data); //设置为全局变量,引用:{{TIME}} //获取时间戳 Timestamp = Math.round(new Date().getTime()); console.log(Timestamp); //设置签名秘钥 key = "E84F708A9B8B42E6A08F9025CBBCC934"; //字符串进行md5加密 var token=pm.request.headers.get("Token")||""; var body=pm.request.body.raw; body = body.replace("{{Timestamp}}",Timestamp); //计算签名 var str = token+"&"+body+"&"+key; postman.setGlobalVariable("str",str); var strmd5= CryptoJS.MD5(str).toString(CryptoJS.enc.Hex).toUpperCase(); console.log(strmd5); //生成随机字符串 function randomString(minValue, maxValue, dataSet = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ') { if (!minValue) { minValue = 20; maxValue = 20; } if (!maxValue) { maxValue = minValue; } let length = _.random(minValue, maxValue), randomString = ""; for (let i = 0; i < length; i++) randomString += dataSet.charAt(Math.floor(Math.random() * dataSet.length)); return randomString; } postman.setGlobalVariable("randomString",randomString()); //产生随机数字 function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.random(); return(Min + Math.round(Rand * Range)); } //产生随机字符串 function randomString(length, chars) { var result = ''; for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)]; return result; } var tid = GetRandomNum(1111111111,99999999999); var num = GetRandomNum(25,35); var oaid = randomString(num, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'); console.log("oaid is : "+oaid); console.log("tid is : "+tid);
引用脚本
二、嵌套接口参数引用
将返回结果作为参数存储
、
测试脚本
var jsonData = JSON.parse(responseBody); pm.globals.set("content",jsonData.content); pm.globals.set("origin",jsonData.origin); pm.globals.set("author",jsonData.author); pm.globals.set("category",jsonData.category);
设置全局参数
全局参数引用
三、多接口嵌套批量触发
1.将需要批量执行的接口保存至collection中
2.打开功能列表,点击run collectoion
3.配置参数进行执行(是按照collection中顺序执行,可以拖动调整顺序)