【发布时间】:2019-06-21 14:48:05
【问题描述】:
我正在使用 Java 中的 Selenium 开发自动化测试。我想删除本地和会话存储、cookie 等以“清除”WebDriver。我需要它从站点注销并为所有测试使用相同的 WebDriver,而不是为每个测试用例关闭和打开浏览器。
当我删除如图所示的整个本地存储时 - 它被删除。然后我重新加载页面。我没有登出,所有本地存储项又出现了。
然后我使用键盘上的“删除”键仅删除 active_user_session 项目。然后我立即发现自己退出了。
这很奇怪...为什么当我删除所有存储时我没有注销并且当我重新加载页面时信息恢复了。但是当我只删除一个 active_user_session 项目时,我立即退出了???
好的。我们上代码吧。
((JavascriptExecutor)(driver)).executeScript( String.format(
"window.localStorage.removeItem('%s');", "access_token"
));
这个很好用。但我似乎需要删除 active_user_session 项...
((JavascriptExecutor)(driver)).executeScript( String.format(
"window.localStorage.removeItem('%s');", "active_user_session"
));
此代码不起作用:active_user_session 仍然存在!!!
更有趣的是:
((JavascriptExecutor)(driver)).executeScript(
"window.localStorage.clear();"
);
删除除 active_user_session 之外的所有项目!
为什么???你能解释一下吗?可能我什么都不知道... 谢谢!
【问题讨论】:
标签: javascript java selenium google-chrome local-storage