Rou*_*oon 17 testing http postman
我在POSTMAN中有一组请求.我想在两个请求之间添加暂停,但我无法通过阅读他们的文档找到这样做的方法.任何的想法?
更新我只想在一个请求之后暂停,而不是在集合中的每个请求之后.
小智 16
如果有人还在寻找这个 - 你可以在一个可以使用的集合中的许多测试之后/之前添加延迟:
setTimeout(function(){}, [number]);
Run Code Online (Sandbox Code Playgroud)
其中'number'是毫秒.如果它在"测试"中添加,它将在发送请求后执行.如果它在'预请求测试'中添加,它将在发送请求之前执行.
小智 13
举个简单的例子,相信你会明白的。
setTimeout(() => {}, 15000);
Run Code Online (Sandbox Code Playgroud)
15000 这是一个以毫秒为单位的值
尝试这样的事情 -
if(jsonBody.responseCode=="SUCCESS"){
setTimeout(function(){
console.log("Sleeping for 3 seconds before next request.");
}, 3000);
postman.setNextRequest("nextAPI");
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我知道有两种方法可以做到这一点
方法一
将您的请求作为集合运行.(https://www.getpostman.com/docs/collections)使用Newman(Postman的命令行集合运行器)使用--delay标志运行您的集合.延迟输入值以毫秒为单位.
方法二
这是一个很好的黑客,我在这里找到https://github.com/postmanlabs/postman-app-support/issues/1038.您可以在Postman中为测试脚本添加延迟功能.
使用javascript的繁忙等待是一个不错的选择,但是它会使您的CPU变热并且应用程序无响应。我使用postman-echo找出了这个解决方案。
假设您要在Request_A和Request_B之间添加较长的延迟。
首先,在Request_A的测试脚本中设置一个环境变量以标记开始。
environment.delayTimerStart = new Date();
然后,在创建的内容中创建一个GET请求(此处称为“延迟10秒”)。它在https://postman-echo.com/delay/10上进行GET (10秒后返回)
在其测试脚本中,添加
var curDate = new Date();
if (curDate - environment.delayTimerStart < delay_time_in_sec*1000) {
postman.setNextRequest('Delay 10s');
} else {
postman.setNextRequest("Request_B");
}
Run Code Online (Sandbox Code Playgroud)
这样,您可以添加任何长度的延迟。
注意:10秒是postman-echo接受的最大值。如果您只需要短暂的延迟,只需获取https://postman-echo.com/delay/[1~10]即可。
| 归档时间: |
|
| 查看次数: |
29668 次 |
| 最近记录: |