我的菠菜测试(Ruby on Rails)出错了.每个测试都因同样的原因失败:
<unknown>: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.
(Session info: chrome=46.0.2490.86)
(Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Mac OS X 10.10.5 x86_64)
Run Code Online (Sandbox Code Playgroud)
示例来自Spinach的测试步骤失败:
step 'I visit the site' do
visit "/top?DEBUG_USER=#{$spinach_test_userid}"
page.execute_script('localStorage.clear()') # clear localStorage and reload to act as fresh login
visit "/top?DEBUG_USER=#{$spinach_test_userid}"
end
Run Code Online (Sandbox Code Playgroud)
想法?
设置包括RSpec,Capybara,菠菜,Chromedriver,Selenium.代码包括Mongo,Node.js,Rails ......
更新:意识到测试没有设置为在运行测试之前运行应用程序,因此它试图在没有正确访问页面的情况下找到本地存储("找不到页面").在单独的终端选项卡中手动运行应用程序解决了问题.将此问题留给下一个需要帮助的n00b.;-)
selenium integration-testing ruby-on-rails selenium-chromedriver spinach
我试图从量角器测试中删除localStorage中的条目
describe('The feature', function() {
beforeEach(function() {
browser.executeScript('localStorage.removeItem("key");');
});
it('should do this', function() {
});
});
Run Code Online (Sandbox Code Playgroud)
但是当测试在chrome中运行时,我收到此错误
UnknownError: <unknown>: Access to 'localStorage' is denied for this document. Storage is disabled inside 'data:' URLs.
(Session info: chrome=32.0.1700.77)
(Driver info: chromedriver=2.8.241036,platform=Mac OS X 10.9.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 436 milliseconds
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'MyPC.local', ip: '192.168.1.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: …Run Code Online (Sandbox Code Playgroud) selenium selenium-chromedriver angularjs selenium-webdriver protractor
我正在寻找一种使用量角器完全删除所有cookie,会话/状态cookie,存储等的方法。基本上,我想通过访问“设置”->“清除浏览数据”在Protractor中完成与用户相同的操作。
browser.manage().deleteAllCookies()不会删除httpOnly cookie。而且由于JavaScript无法触摸httpOnly cookie,因此我无法使用JavaScript。
我知道我可以在量角器中重新启动浏览器,但更不想走这条路。
有什么建议么?