2016-10-28 47 views
2

我正在尋找一種方法來使用量角器完全刪除所有Cookie,會話/狀態Cookie,存儲等。基本上,我想通過轉到設置 - >清除瀏覽數據來完成量角器中的相同操作。量角器:完全清除瀏覽數據

browser.manage().deleteAllCookies()不會刪除httpOnly cookie。由於JavaScript無法觸及httpOnly Cookie,因此我無法使用JavaScript。

我知道我可以在量角器中重新啓動瀏覽器,但寧願不走這條路。

有什麼建議嗎?

+0

我發現最好的辦法,如果有幫助:https://github.com/angular/protractor/issues/172 upshot is try:browser.driver.manage()。deleteAllCookies(); – racraman

+1

我使用了'browser.driver.manage()。deleteAllCookies()'和'browser.driver.manage()。deleteAllCookies()'。它不會刪除會話cookie。 – mws

+1

我試過'browser.driver.manage().deleteAllCookies()'並執行javascript代碼片段,比如'window.localStorage.clear()'。狀態的某些方面在不同的測試中得到保留,這對我來說也是有問題的。在測試之間自由地終止瀏覽器會很有用,因爲在使用普通的Selenium Webdriver測試時,這是很容易實現的。編輯:'browser.restart()似乎是一個值得探索的選擇。 –

回答

2

作爲解決方法,我可以利用browser.restart()中的afterEach進行測試。它似乎已在Protractor 3.0.0中引入。

0

此答案由安東尼Panozzo是我清除會話和本地存儲(https://stackoverflow.com/a/25678498/5072980

afterEach(function() { 
    browser.executeScript('window.sessionStorage.clear();'); 
    browser.executeScript('window.localStorage.clear();'); 
});