8

我想写一个网页的请求规范。水豚webkit无效响应错误,如何调试?

本页面在开发过程中没有错误。

但在水豚的WebKit我试图提交表单后出现此错误运行:

Failure/Error: Unable to find matching line from backtrace 
Capybara::Driver::Webkit::WebkitInvalidResponseError: 
    Unable to load URL: https://127.0.0.1:33416/sign_in 

在努力找出我已经开始剥离出来的标记和JavaScript页面上的原因。到它是一个空的表单与一个普通的提交按钮。我仍然遇到上述错误!

现在测试字面上:JS选项:

it "should be able create a new foo", :js, :focus do 
    visit new_foo_path 
    find('#submit').click 
end 

如果我删除了这个测试然而没有工作

it "should be able create a new foo", :focus do 
    visit new_foo_path 
    find('#submit').click 
end 

的Javascript测试中做工作,这个应用程序的其他页面...

这对我没有任何意义。有没有人有任何建议如何从这里调试?

感谢所有帮助

回答

6

你看到的错误是告诉你,有某种在页面异常的最可能的水豚,WebKit的神秘方式。我回到了the same problem,“无法加载URL”的事情完全让我失望,很难找到真正的问题。

这样几件事情要尝试,我建议:

  • 确保您已安装最新版本的水豚-的WebKit。
  • 检查除实际表单之外的测试元素,例如控制器逻辑和涉及的任何模型。剥去一切,直到你什么都没有。
  • 查看关于此问题的discussion,并从那里跟踪线索。我很确定这是一个相同的问题或相关问题。

祝你好运!

+0

谢谢...绝对正确的在我的情况与硒无关! – 2016-01-07 22:23:36

+0

问题是我在我的application_controller中强制ssl,没有排除测试环境 – 2016-01-07 22:30:18

19

将以下内容添加到您的水豚配置中。

require 'rack/utils' 
Capybara.app = Rack::ShowExceptions.new(NameOfYourRailsApp::Application) 

当你得到一个错误,现在你会看到它在标准输出和机架将呈现页面与有关环境(饼干等)及回溯细节。

+1

非常感谢!它很棒! – 2012-09-05 10:58:36

+0

我一直在寻找这个看起来像* forever *的东西。我有VCR录音错误,没有出现在任何地方,所以我不知道发生了什么事情。现在我可以看到问题了。谢谢! – mmrobins 2012-10-03 04:21:28

+2

这应该是公认的答案(我的答案只是一些建议,这一个真正解决了这个问题)。 – 2013-07-16 04:32:43

2

我与子站点,我可以让它工作加入以下spec_helper.rb

Capybara.configure do |config| 
    config.javascript_driver = :webkit 
    config.server_port = 3000 
    config.app_host = "http://subdomain.local.host:3000" 
end 

127.0.0.1 subdomain.local.host之前显然添加到我的/etc/hosts文件

2

我也有类似的问题,并能通过为:js启用测试启用page.driver.browser.ignore_ssl_errors来修复它。这里是代码为我工作:

config.before(:each) do 
    if Capybara.current_driver == :webkit 
     # Need to manually specify ignoring of SSL errors 
     page.driver.browser.ignore_ssl_errors 
    end 
end 
相关问题