我正在尋找一種方法來使用量角器完全刪除所有Cookie,會話/狀態Cookie,存儲等。基本上,我想通過轉到設置 - >清除瀏覽數據來完成量角器中的相同操作。量角器:完全清除瀏覽數據
browser.manage().deleteAllCookies()
不會刪除httpOnly cookie。由於JavaScript無法觸及httpOnly Cookie,因此我無法使用JavaScript。
我知道我可以在量角器中重新啓動瀏覽器,但寧願不走這條路。
有什麼建議嗎?
我正在尋找一種方法來使用量角器完全刪除所有Cookie,會話/狀態Cookie,存儲等。基本上,我想通過轉到設置 - >清除瀏覽數據來完成量角器中的相同操作。量角器:完全清除瀏覽數據
browser.manage().deleteAllCookies()
不會刪除httpOnly cookie。由於JavaScript無法觸及httpOnly Cookie,因此我無法使用JavaScript。
我知道我可以在量角器中重新啓動瀏覽器,但寧願不走這條路。
有什麼建議嗎?
作爲解決方法,我可以利用browser.restart()
中的afterEach
進行測試。它似乎已在Protractor 3.0.0中引入。
此答案由安東尼Panozzo是我清除會話和本地存儲(https://stackoverflow.com/a/25678498/5072980)
afterEach(function() {
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
});
我發現最好的辦法,如果有幫助:https://github.com/angular/protractor/issues/172 upshot is try:browser.driver.manage()。deleteAllCookies(); – racraman
我使用了'browser.driver.manage()。deleteAllCookies()'和'browser.driver.manage()。deleteAllCookies()'。它不會刪除會話cookie。 – mws
我試過'browser.driver.manage().deleteAllCookies()'並執行javascript代碼片段,比如'window.localStorage.clear()'。狀態的某些方面在不同的測試中得到保留,這對我來說也是有問題的。在測試之間自由地終止瀏覽器會很有用,因爲在使用普通的Selenium Webdriver測試時,這是很容易實現的。編輯:'browser.restart()似乎是一個值得探索的選擇。 –