4

如何在 newman(postman 的节点模块)中设置 setTimeout/Thread.sleep。

我正在使用以下功能:

setTimeout(function(){ 

        console.log('sleep for ten min');
    }, 600000);

上述功能在邮递员的收集运行中完美运行。

但是当我尝试 newman 时,它会抛出错误

'setTimeout 在沙箱中不可用并且没有副作用。'

我发现了一个类似的线程,如下所示:

https://github.com/postmanlabs/newman/issues/304

但他们也没有提供任何解决方案。

无论如何,我可以将我的单个 API 标记为延迟一段时间。

我已经在使用--delay-request 60000API 之间延迟的 Newman 参数,因此它不起作用。

在此处输入图像描述

任何解决方案都会有所帮助

4

2 回答 2

4

将 newman 更新到 3.8.3 或更高版本。

老版本的 newman 不支持 setTimeout

于 2017-12-01T12:45:12.150 回答
3

所以打开你给我们的链接,他们说:

在此处输入图像描述


所以要明确一点,你将使用newman一种不是为它设计的方式。


话虽如此,您可以尝试实现自定义 sleep :

function sleep(milisecond) {
  const date = Date.now();

  // Sleep in an *infinite* loop
  while ((date + milisecond) > Date.now());
}
于 2017-12-01T12:37:31.093 回答