2013-10-22 40 views
1

我在buildbot和phantomjs的幫助下實現了codeception。phantomjs重置cookie

這一切都很好,buildbot在進行提交時觸發代碼隱藏,並且我在後臺運行phantomjs,以接受來自de WebDriver的代碼連接。

但是,phantomjs被保存的cookies的問題,所以我的第一次測試,這是登錄,總是失敗,因爲用戶已經登錄。

我怎樣才能讓phantomjs重置每個測試運行後的cookie ?

我試過重新啓動phantomjs,這解決了這個問題,但我不知道如何用buildbot來做到這一點。再加上它似乎是矯枉過正這一特定問題..

回答

9

有兩種方法清除Cookie:

  1. page.clearCookies() - 刪除的cookie只對當前網頁

  2. phantom.clearCookies() - 全球範圍內取消所有Cookie for all WebPages

您可以閱讀更多here

+0

但是我如何從代碼中調用這些?我使用WebDriver,並試圖調用兩者,但都沒有定義 – Xeli

+1

AH。我錯過了你在使用Codeception。在這種情況下,您可以使用: '$ I-> executeInSelenium(function(\ WebDriver $ webdriver){ $ webdriver-> manage() - > deleteAllCookies(); }); ' –