在我的功能规范中使用 Capybara 和 Rspec 时,调用“visit”后,page.body 返回:“<html><head></head><body></body></html>” 当然,导致我所有的“发现”都失败了,因为那里什么都没有。launchy 的 save_and_open_page 向我展示了完整、准确的页面,充满了 HTML 标记。
关于为什么 Capybara 没有正确设置页面元素的任何想法?
在我的功能规范中使用 Capybara 和 Rspec 时,调用“visit”后,page.body 返回:“<html><head></head><body></body></html>” 当然,导致我所有的“发现”都失败了,因为那里什么都没有。launchy 的 save_and_open_page 向我展示了完整、准确的页面,充满了 HTML 标记。
关于为什么 Capybara 没有正确设置页面元素的任何想法?
原来这是由于webrat和capybara之间的冲突。深入研究引用“访问”和“页面”的来源,我发现访问在 Webrat 和 Capybara 中都声明了;但是,每个“访问”的效果不同。Capybara 设置页面变量,而 webrat 设置响应变量。我还不太了解如何使用它们,因为它们似乎对不同的目的都有用 - 如果有人想用一些资源留下一些评论,我当然会很感激!
我也得到了这个。当我从访问调用中发出标记时,我发现页面实际上抛出了 404,但我没有收到 Capybara 404 错误。
如果您运行以下内容,它将打印出标记,以便您可以更轻松地调试:
When /^I view the front page$/ do
@visit = get "#{host}/frontpage"
puts @visit
end
希望对某人有所帮助。