Postman接口测试进阶 设置接口之间延迟请求时间 (3种方法)亲测有效

业务需求:团课上课2分钟以后自动下课

 

遇到的问题

Postman是HTTP API测试工具,它有一个非常有用的功能,就是Run Collection。这能把将全部Collection中的Request都跑一遍,可以用来批量测试API。如下图所示:

在这个图中我们发现,可以设置Delay参数,表示发送完每个请求后,延迟一段时间再发送下一个请求。这个设置会对每个Request都生效,而有时我们只需要为在某个Request设置Delay时间,并不需要让每个Request都延迟发送。此时我们就不能用这个Delay参数了。

 

实现思路:

1.无法通过postman的GUI去进行延迟请求,那么只能通过代码来实现

2.时间换算 1秒= 1000毫秒,2分钟 = 2*60秒=120,000毫秒

3.使用JavaScript的设置延迟时间函数  setTimeout 和 sleep 分别实现

实现函数:setTimeout

方法1:

极简版

在Tests脚本输入框输入代码如下:

setTimeout(function() {},[number]);

方法2 :

复杂版(推荐)

在Tests脚本输入框输入代码如下:

pm.test("上课2分钟", function () {
    setTimeout(()=>{console.log("2分钟后下课");}, 120000);
    console.log('2分钟后下课');
});

实现函数:sleep

方法3:

超级复杂版(不推荐)

在Tests脚本输入框输入代码如下:

function sleep(numberMillis){

    var now = new Date();

    var exitTime = now.getTime() + numberMillis;

    while (true){

        now = new Date();

        if (now.getTime() > exitTime)

        return;

    }

}

sleep(10000);

 

具体操作

在Tests脚本输入框输入代码如下:

pm.test("上课2分钟", function () {
    setTimeout(()=>{console.log("2分钟后下课");}, 120000);
    console.log('2分钟后下课');

实现效果

经过实测 方法2 没有报错,业务需求实现,个人经验推荐,用它!~

 

希望对刚接触postman接口测试的同学有所帮助,也希望大家多多点赞收藏转发,您的鼓励是对我付出最大的支持!~


版权声明:本文为DebugboyAlphaGo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。