這是一個採訪我的檢票口的問題。我們有5,6個硒測試的硒測試課。測試3正在執行中,並且發生網絡故障。現在一旦網絡恢復,如何配置框架,以便從第三次測試失敗的地方開始。並應執行已執行的測試1 & 2.假設框架是junit。網絡故障後繼續執行測試
1
A
回答
2
我不能同意javaguy的回答。我認爲這個問題完全有效。作爲一個概念的單元測試和作爲工具的JUnit之間有很大的區別。
javaguy的回答中描述的是單元測試。這些確實不能使用任何東西,只能將類加載到內存中並寫入。但是,當然使用Selenium Web驅動程序的測試不是單元測試。它有效地選擇了一個JUnit作爲實現這些測試的框架。當然,我們可以爭論JUnit是否是最好的工具,但它是一個不同的故事,如果選擇JUnit作爲這些測試的實現工具,這是一個不錯的選擇。
現在關於你的問題。有很多不同的方法來實現你想要的。
創建一個允許重新運行測試的JUnit規則。一般來說,如果您熟悉AOP術語,規則有點像攔截器或方面。他們攔截了測試,所以失敗後可以重新運行。 Here您可以找到解釋規則並提供一些鏈接的問題。
實現自定義運動員。只有當您沒有使用其他跑步者時,這種方法纔會起作用,因爲JUnit僅爲跑步者提供了一個插槽。 這個自定義運行器將再次攔截測試呼叫,並將在網絡故障/ ping網絡時重新運行並等待,並且只有當它將「返回」時纔會重新運行。然後您可以使用
@RunWith
註釋激活您的實際跑步者測試。適用的解決方案。假設,在您的測試中,硒web驅動程序是唯一實際依賴網絡的東西,將硒驅動程序調用包裝到您的調用中。爲硒的所有呼叫提供
try/catch
,並在發現異常時重試。你甚至可以爲此使用方面或手動實現包裝。有在詹金斯/你的構建工具的水平也有一些解決方案,但我認爲這些都是超出範圍實際上...
希望這有助於
相關問題
- 1. 檢測網絡故障排除?
- 2. 硒測試套件:故障切換測試執行
- 3. 網絡故障後Cometd推送通知
- 4. 網絡故障的測試線束軟件
- 5. andlinux slirp網絡故障
- 6. 網絡動畫故障
- 7. TestNG不會繼續執行失敗後的測試
- 8. Python Bot如何在網絡故障後重試
- 9. 如何在網絡故障後保存並重試報告GKAchievement?
- 10. 特定故障後停止測試
- 11. SIGALRM:在執行後繼續執行
- 12. 進入後臺後,應用程序是否繼續執行網絡操作?
- 13. JUnit測試類故障
- 14. Jboss故障轉移測試
- 15. 單元測試WCF故障
- 16. 如何告訴LLDB在分段故障後繼續?
- 17. 繼續使用Azure在電源故障後上傳
- 18. 如何在異常之後繼續執行Android檢測程序測試?
- 19. 即使發生故障,也可以繼續執行某些任務
- 20. googleTest繼續測試
- 21. Selenium網絡驅動程序測試在測試控制器機器未通過測試時出現故障
- 22. 萵苣:斷言後繼續測試
- 23. Xcode在測試完成後繼續
- 24. Testflight - 30天后繼續測試?
- 25. Python單元測試失敗後繼續
- 26. 如何跳過surefire測試但運行故障安全測試?
- 27. 如何解決網絡故障net :: ERR_NAME_NOT_RESOLVED
- 28. 網絡通信故障排除
- 29. RabbitMQ的集羣網絡故障
- 30. 重新連接socat網絡故障