2013-10-18 130 views
1

我正在使用selenium webdriver在python中編寫測試,調試它真的很痛苦。 比方說,我的測試是這樣的:Python Selenium webdriver:調試

  1. 連接
  2. 點擊 「我的帳戶」
  3. 點擊 「取消訂閱」
  4. 斷開

然後:

  • 當我運行.py文件時,它會啓動一個新的瀏覽器,所以如果我想調試第三個動作,我必須運行所有的測試。我無法在我的帳戶頁面上說,並嘗試幾次。
  • 另一個問題是瀏覽器在測試結束時自行關閉,所以我甚至無法明白它爲什麼崩潰。我只知道它在代碼中崩潰的地方。我嘗試過「driver.quit()」,但它沒有做任何事情。

有沒有辦法讓調試變得容易?

+0

您是不是像PyDev插件那樣使用Eclipse這樣的IDE來進行開發?如果不是,我建議你這樣做,內置的調試系統將允許您逐行瀏覽您的代碼,以便您可以可靠地調試代碼。 –

回答

4

如果您正在編寫用戶測試,您可能需要考慮更高一步,並將BDD作爲您的測試套件。 python中有它的神話般的庫:lettuce,它有一個Selenium webdriver

這應該會讓你更容易,因爲它不僅能爲你提供存儲,讀取和管理測試的非常好的方式,而且還可以在它們之間建立一個共同點(稱爲terrain),你可以在那裏產生瀏覽器各種狀態,甚至只是從場景傳遞到場景,如果需要的話。

使用hooks可以重新啓動狀態之間的瀏覽器狀態,這似乎正是你在找什麼。

+0

你鏈接的工具看起來很酷非常感謝你。我現在唯一缺少的就是易於分析我常常用selenium IDE做的那個網頁的工具,我應該繼續做還是還有更好的? – elbajo

+0

@Bajo嗯,我通常只用Chrome瀏覽器的開發工具,對我來說似乎已經足夠了。請記住,無論您以前用於硒,您仍然可以使用此工具(它只是一個驅動程序)。 –