2012-02-27 108 views
2

我正在使用硒在Scala Web應用程序上執行集成測試。我希望在測試失敗時將頁面的html截圖或打印到控制檯中。我目前的設置是使用Selenium 2.0和Spec的Scalatest。在Scalatest失敗時執行特殊功能

無論如何攔截故障或從AfterEach覆蓋方法確定測試的狀態嗎?

回答

6

要做到這一點,你要重寫withFixture而不是使用BeforeAndAfterEach。 BeforeAndAfterEach的beforeEach方法發生在測試之前,而afterEach發生在測試之後。而Fixture可以在測試的開始和/或結束時做一些事情。所以當調用FIXture時,測試已經開始。測試函數返回到Fixture後,測試尚未完成。因此,您可以在withFixture中捕捉異常以確定測試是否失敗,如果是,則創建一個屏幕快照。