如何在 newman 中设置 setTimeout/Thread.sleep
Posted
技术标签:
【中文标题】如何在 newman 中设置 setTimeout/Thread.sleep【英文标题】:How to set setTimeout/Thread.sleep in newman 【发布时间】:2018-05-15 12:34:02 【问题描述】:如何在newman(postman的节点模块)中设置setTimeout/Thread.sleep。
我正在使用以下功能:
setTimeout(function()
console.log('sleep for ten min');
, 600000);
以上功能在邮递员的收集运行器中完美运行。
但是当我尝试 newman 时,它会抛出错误
'setTimeout 在沙箱中不可用,没有副作用。'
我发现了一个类似的帖子,如下所示:
https://github.com/postmanlabs/newman/issues/304
但他们也没有提供任何解决方案。
无论如何我可以将我的单个 API 标记为延迟一段时间。
我已经在使用 Newman 参数 --delay-request 60000
,它在 API 之间有延迟,所以它不起作用。
任何解决方案都会有所帮助
【问题讨论】:
【参考方案1】:所以打开你给我们的link他们说:
所以要明确一点,您将使用newman
一种并非设计用于的方式。
话虽如此,您可以尝试实现自定义睡眠:
function sleep(milisecond)
const date = Date.now();
// Sleep in an *infinite* loop
while ((date + milisecond) > Date.now());
【讨论】:
谢谢@Gregory .. 我也尝试过.. 我找到了解决方案.. 测试它.. 将发布一次确认.. 投票给你寻求帮助;)【参考方案2】:将 newman 更新到 3.8.3 或更高版本。
老版本的newman不支持setTimeout
【讨论】:
很好,你找到了 :) 也许其他人也会遇到同样的麻烦以上是关于如何在 newman 中设置 setTimeout/Thread.sleep的主要内容,如果未能解决你的问题,请参考以下文章