我正在尝试为网页编写请求规范.
但是在capybara 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.到了具有普通提交按钮的空表单的程度.我仍然得到上述错误!
该测试现在字面上:
it "should be able create a new foo",:js,:focus do visit new_foo_path find('#submit').click end
但是,如果我删除:js选项,此测试确实有效:
it "should be able create a new foo",:focus do visit new_foo_path find('#submit').click end
Javascript测试在此应用程序的其他页面中有效…
这对我没有意义.有没有人有任何建议如何从这里调试?
谢谢你的帮助
解决方法
您看到的错误很可能是capybara-webkit的神秘方式,告诉您页面中存在某种异常.我一次回到
the same problem,“无法加载URL”的事情完全让我失望,很难找到实际的问题.
作为一些尝试,我建议:
>确保安装了最新版本的capybara-webkit.
>检查测试的元素而不是实际的形式,例如控制器逻辑和涉及的任何模型.剥去一切,直到你什么都没有.
>查看关于此问题的discussion并从那里关注潜在客户.我很确定这是同一个问题或相关问题.
祝你好运!