我們正在通過jenkins服務器運行一套Frank/cucumber測試來測試iOS應用。黃瓜 - 詹金斯重新運行失敗測試
這些測試本地運行得很好,並且在jenkins服務器上手動運行也是如此。但是,當通過jenkins時,我們偶爾會遇到導致構建失敗的錯誤,當我們再次運行jenkins時(即按下'Build now'按鈕),無需更改任何內容即可正常工作。
我們運行下面的代碼來運行測試:
cucumber features/ipad --tags [email protected]
我接着又說了重新運行參數失敗的測試轉儲到一個文本文件:
-f rerun -o rerun.txt
然後跑去黃瓜重新運行。 TXT直後,所以它整個comman看起來像這樣:
cucumber features/ipad --tags [email protected] -f rerun -o rerun.txt; cucumber @rerun.txt
這工作正常,我t捕獲失敗的測試,並在其他測試後重新執行它們。
但是,jenkins仍然將構建標記爲失敗,即使重新運行通過。
有沒有辦法告訴黃瓜或詹金斯忽略第一次測試運行,並且只將重新運行測試標記爲合格或失敗?
或者有沒有更好的方法呢?
感謝
我認爲你和Peter是正確的,因爲測試需要重寫/重新考慮,以免出現這些錯誤。當測試在本地運行良好時,這是令人沮喪的,但通過jenkins失敗沒有明顯的原因。我會檢查我們是否使用junit。謝謝! – MichalT
@MichalT檢查控制檯日誌,該日誌應該準確顯示構建失敗的原因。無論如何,弗蘭克手勢有問題,他們不可靠。如果您只使用簡單的觸摸,測試可能會失敗的原因有幾個,例如動作之間的小延遲(使用'wait_for_nothing_to_be_animating'而不是睡覺)。我遇到了同樣的問題,我的測試完全在本地運行。然而,事實證明jenkins失敗幾乎總是由測試中的問題引起的 - 或者是隨機出現的真正bug。總是試圖理解測試失敗的原因。 – Sulthan