postman使用脚本和接口嵌套批量执行

发布时间 2023-04-10 19:01:14作者: CodingPanda

一.使用脚本自动填充数据

 编写脚本

 

//生成随机字符串
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);
//设置环境变量
pm.environment.set("oaid", oaid);
pm.environment.set("tid", tid);

var moment = require("moment"); // 获取时间
var data = moment().format("YYYY-MM-DD HH:mm:ss"); //定义时间格式
console.log(data);
pm.globals.set("TIME", data); //设置为全局变量,引用:{{TIME}}

引用脚本

 

 二、嵌套接口参数引用

将返回结果作为参数存储

 

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