2016-08-16 32 views
0

我正在使用Fitnesse進行一系列測試。由於Fitnesse只允許我一次返回一個值,所以我有一系列斷言測試,例如,檢查頁面上是否存在特定的元素。 fitnesse中的每個測試依次運行,這意味着我的驅動程序實例在每次測試後都會被破壞。在多個Python腳本中保留硒驅動程序

雖然功能 - 這種方法變得不夠充分,因爲這種簡單的檢查大部分時間都是打開和關閉瀏覽器。

我試圖醃製司機 - 但沒有太多成功這樣做。我得到:

TypeError: can't pickle file objects 

我也嘗試循環運行的一個單獨的Python腳本,並從那裏訪問的驅動程序,但任何腳本,那麼包括這也陷入死循環。

+0

我可能是完全錯誤的,因爲一年前我只有1周的時間與Fitnesse一起玩Java設備,但我記得有像SuiteSetUp和SuiteTearDown這樣的特殊頁面。這不適合你的情況。 – Grasshopper

回答

0

我的建議是更好地組織測試,並適應每個測試用例都有自己的實例的做法。如果你有非常小的快速情況下,我會建議嵌套它們。

否則我建議閱讀關於Singleton模式,它允許我們有一個webdriver實例。你可以在這裏找到一些關於實現的例子,只需要搜索selenium singleton。祝你好運!

0

它應該在TestNG中有類似@BeforeSuite的註解。 如果有,您可以利用它來實例化將由所有測試使用的驅動程序創建。

我們已經成功地實現了它使用具有驅動變量,我們設置在@BeforeSuite方法此驅動程序BaseTestClass,然後它是由所有測試共享。 雖然這種方法對它有一些挑戰,就像你不能並行運行測試一樣,因爲驅動程序很常見。