一、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); |
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理