尝试禁用或删除黄瓜测试的本地存储空间。
我尝试了以下内容:
page.driver.execute_script("localStorage.clear()")
但我收到以下错误
One or more errors were raised in the Javascript code on the page. If you don't care about these errors, you can ignore them by setting js_errors: false in your Poltergeist configuration (see documentation for details).
SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
at phantomjs://webpage.evaluate():1
at phantomjs://webpage.evaluate():1
at phantomjs://webpage.evaluate():1
at phantomjs://webpage.evaluate():1 (Capybara::Poltergeist::JavascriptError)
答案 0 :(得分:1)
我得到了同样的错误。问题是我试图在不首先访问页面的情况下执行脚本。这引发了上面Justin所解释的错误:
shared_context '@user is logged in' do
before do
# visit '/'
credentials = @user.create_new_auth_token
token = credentials['access-token']
page.execute_script "localStorage.setItem('token', '#{token}')"
end
end
这有效:
shared_context '@user is logged in' do
before do
visit '/'
credentials = @user.create_new_auth_token
token = credentials['access-token']
page.execute_script "localStorage.setItem('token', '#{token}')"
end
end
答案 1 :(得分:0)
我的工作是:
visit '<the_url_needed>'
page.execute_script('if (localStorage && localStorage.clear) localStorage.clear()')
希望有所帮助。