2017-04-12 46 views
2

所以,我的收藏我有大約十的要求,隨着最後兩個分別是:如何讓Postman/Newman在經過一段時間後失敗?

/Wait 10 seconds 

/Check Complete 

第一種方式是郵遞員的回聲通話(10秒延時),第二個是調用我的系統檢查狀態是否完整。現在,如果不可用狀態我再等10秒:

postman.setNextRequest("Wait 10 seconds"); 

我的系統完整的狀態可以在一分鐘左右出現。現在,正如人們所看到的那樣 - 如果系統出現問題並且狀態永遠不會完成,那麼這是一個無限循環。例如,如果postman/newman測試失敗超過2分鐘,那麼測試失敗了嗎?

此外,這將在jenkins中與命令行一起執行,所以我沒有真正關注郵遞員設置或跑步者請求之間的延遲。

+0

爲什麼不使用全局計數器變量的重試次數,並且在6次重試之後失敗測試? –

回答

0

如果您打算使用Jenkins管道,則可以使用超時step導致長時間運行的作業導致失敗,此時間爲2分鐘。

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

時退房「Pipeline Syntax」主編詹金斯生成的代碼塊,並尋找其它有用的功能。

+0

有趣的方法,但超時會殺死整個管道,不是嗎?如果一個階段/步驟超時,整個事情就會被殺死。 – user2187935

+0

正確,你所期望的失敗測試輸出是什麼?你想繼續進行其他測試還是退出? –

+0

正確,我在管道中有更多的測試,所以只是因爲上下文中的測試失敗了 - 我不想放棄所有其他的東西。 – user2187935

1

您可以在這裏看看紐曼的選擇:https://www.npmjs.com/package/newman#newman-run-collection-file-source-options。有趣的選擇是 - 超時要求:它肯定會滿足您的需求。 在Postman本身中,您可以測試responseTime。我記得有一個片段,右側部分,它看起來是這樣的:

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

並且如果響應沒有在要求的時間內發生的測試失敗,可以幫助你。

Alexandre

相關問題