如何让Postman / Newman在一定时间过后失败?

时间:2017-04-12 21:15:44

标签: jenkins postman newman

所以,在我的收藏中,我有大约十个请求,最后两个是:

/Wait 10 seconds

/Check Complete 

第一个调用邮递员的回音(延迟10秒),第二个是调用我的系统检查状态是否完成。现在,如果状态不可用,我再等10秒:

postman.setNextRequest("Wait 10 seconds");

我的系统上的完整状态可以在一分钟左右出现。现在,正如人们所看到的 - 如果系统出现问题并且状态永远不会完成,那么这是一个无限循环。例如,如果测试结果超过2分钟,那么邮递员/纽曼测试是否有办法使测试失败?

此外,这将使用命令行在jenkins中执行,因此我并没有真正关注邮递员设置或跑步者请求之间的延迟。

2 个答案:

答案 0 :(得分:1)

您可以在这里查看新手选项:https://www.npmjs.com/package/newman#newman-run-collection-file-source-options。有趣的选择是 --timeout-request:它一定能满足您的需求。 在Postman本身,您可以测试responseTime。我记得在右边有一个片段,看起来像这样:

tests["Response time is less than 200ms"] = responseTime < 200;

如果在请求的时间内未发生响应,则可以帮助您,因为测试失败。

亚历山大

答案 1 :(得分:0)

如果您打算使用Jenkins管道,可以使用超时step导致长时间运行的作业导致失败,此处开启2分钟。

timeout(120) {
  node {
    sh 'newman command'
  }
}

查看&#34; Pipeline Syntax&#34; Jenkins的编辑器生成你的代码块并寻找其他有用的功能。