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中顺序执行,可以拖动调整顺序)

 

posted @ 2023-04-10 18:59  CodingPanda  阅读(580)  评论(0编辑  收藏  举报