0

window.localStorage.removeItem("name of localStorage variable you want to remove");を使用して、仕様内の2つの異なるlocalStorageキーを削除すると、それらは正常に削除されます。分度器 - スペックのLocalStorageからLossへの接続を解除する

次のステップは、アプリケーションの別のページを入力して、セッションが失われたために再度ログインするよう求めるダイアログを表示することですが、分度器でこれを行うと、localStorageキーが正しくクリアされても機能しません。手動で(右クリックと削除を行って削除する)、それが動作し、ダイアログがポップアップします。

何が問題なのですか?

+0

どのようにあなたの明確なセッションとローカルストレージを手動でサイト上のログアウトのコールのでしょうか?それはいくつかのプラグインですか?または単にdevtools? – Xotabu4

+0

devtoolsから削除して(アプリケーション - > LocalStorage-> 2つのキーを削除する)、手動で動作し、別の状態から変更した後、再度ログインするようにダイアログが表示されますが、テストが実行中のとき、もう一度ログインすることなく、キーが再び表示されます。 –

答えて

0

2つのキーだけを消去するのではなく、ローカルとセッションのストレージを完全に消去することを検討してください。

browser.manage().deleteAllCookies(); 
browser.executeScript('window.sessionStorage.clear(); window.localStorage.clear();') 
+0

うまくいかなかった:私は手動でそれを動作させ、分度器がそれを行うと動作しない理由を見つけることができない:S –

0

サイトがクッキーを別のドメインのクッキーを保存し、またはHttpOnlyのように見えます。

Webdriverでは、現在の場所にある同じドメインのCookieのみを削除できます。あなたのAPIがあなたにいくつかのauthtokenを与えるなら、それは別のドメインのために保存されるので、それは削除されません。 HTTPonly Cookieについても同じです。

HttpOnly cookie 
An HttpOnly cookie cannot be accessed by client-side APIs, such as JavaScript. This restriction eliminates the threat of cookie theft via cross-site scripting (XSS). However, the cookie remains vulnerable to cross-site tracing (XST) and cross-site request forgery (XSRF) attacks. A cookie is given this characteristic by adding the HttpOnly flag to the cookie. 

私はあなたがAPIのURLに移動することをお勧めし、そこbrowser.manage().deleteAllCookies();メソッドを呼び出すか、手動で

関連する問題