在量角器测试中从 localStorage 设置项目
describe('The feature', function() {
beforeEach(function () {
browser.executeScript('localStorage.setItem("key","value");');
});
it('should do this', function() {
});
});
但是当使用 chromedriver 2.10 和 chrome 37 对 selenium 运行测试时出现此错误
but i get this error when the test is run against selenium with chromedriver 2.10 and chrome 37
Executing: [execute script: window.localStorage.setItem("key","value");, []])
15:31:29.747 WARN - Exception thrown
org.openqa.selenium.WebDriverException: <unknown>: Failed to read the 'localStorage'
property from 'Window': Storage is disabled inside 'data:' URLs.
(Session info: chrome=37.0.2062.120)
(Driver info: chromedriver=2.10.267518,platform=Linux 3.11.0-26-generic x86_64) (WARNING:
The server did not provide any stacktrace information)
知道问题出在哪里吗?
推荐答案
根据 在量角器测试中从 localStorage 中删除一个项目,当您尝试访问 localStorage 而不点击浏览器时会发生这种情况(例如,browser.get
) 在您使用 Chrome 驱动程序时首先.解决方案似乎是首先点击浏览器(可能是您的根页面)以在 Chrome 中加载一个页面,以便您可以操作 localStorage.这至少是我为我们的项目所做的.希望这会有所帮助!
According to one of the answers at Remove an item from localStorage in a protractor test, this happens when you try to access localStorage without hitting the browser (say, browser.get
) first when you are using the Chrome driver. The solution seems to be to hit the browser first (maybe your root page) to get a page loaded in Chrome so that you can manipulate the localStorage. That at least is what I have been doing for our project. Hope this helps!
相关文章