0

window.localStorage.removeItem("name of localStorage variable you want to remove");用来删除规范中的两个不同的 localStorage 密钥,它们已成功删除。

下一步是进入我的应用程序的另一个页面以显示一个对话框,要求您由于会话丢失而再次登录,但是即使正确清除 localStorage 键,使用量角器执行此操作也不起作用,而是手动执行(删除它们给予右键单击和删除),它的工作原理和对话框弹出。

可能是什么问题呢?

4

2 回答 2

0

考虑完全擦除 cookie、本地和会话存储,而不是只擦除 2 个密钥。

browser.manage().deleteAllCookies();
browser.executeScript('window.sessionStorage.clear(); window.localStorage.clear();')
于 2017-02-16T14:01:20.613 回答
0

看起来您的网站存储了不同域的 cookie,或 httponly cookie。

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();在那里调用方法或在您的站点上调用手动注销

于 2017-02-17T11:42:57.940 回答