目录
一、postman接口之间增加等待使用场景
1.发送接口调试时,响应超时时间设置的太短导致接口访问失败
2.获取当前时间,但是服务器时间响应时间较慢
3.上一个接口未请求完成,下一个接口需要使用上一个接口的参数
。。。。。。【综上所述:等待十分重要】
二、增加等待的方法
1.方法一:所有项目集合全局添加等待
2.方法二:个别项目运行时,全局增加等待时间
设置Delay参数,表示发送完每个请求后,延迟一段时间再发送下一个请求。这个设置会对每个Request都生效,
而有时我们只需要为在某个Request设置Delay时间,并不需要让每个Request都延迟发送。此时我们就不能用这个Delay参数了
3.方法三:setTimeout方法【异步】
Postman的TestScript来设置在发送Request后延迟一段时间再发送下一个请求的方法。
其实只要使用javascript 的setTimeout方法即可。
pm.test("DescribeJob", function () {
setTimeout(()=>{console.log("这里的语句才会等待60秒后执行");}, 60000);
console.log('setTimeout后面的操作会异步执行,不会等待60秒后再执行');
});
例子:
for (var i = 1;i <= 5;i ++) {
setTimeout(function timer() {
console.log(i)
},i * 1000)
}
输出:
第一次循环,隔一秒输出1;
第二次循环,隔两秒输出2;
第三次循环,隔三秒输出3;
第四次循环,隔四秒输出4;
第五次循环,隔五秒输出5;
注意:
setTimeout实际还是异步执行的,最后一行的console.log语句并不会等待60秒后才执行,只有setTimeout内部第一个参数中的语句才会在延迟60秒后才执行。
4.方法四:setTimeout【简约版】
setTimeout(function() {},[number]);
5.方法五:sleep函数
注意:
在测试的过程中发现这种写法会有一个问题:接口的ResponseBody会在执行完等待时间后才返回
function sleep(numberMillis){
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true){
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
sleep(10000);