如何使用水豚测试发布请求并跟踪重定向



我正在尝试用水豚和黄瓜测试发布请求。我无法访问页面并按链接发送请求,因为它有一个确认对话框,而且我没有让它与 javascript 一起使用,所以我尝试使用 post 方法,然后测试它是否重定向到适当的 url,但我得到:

No response yet. Request a page first. (Rack::Test::Error)

我的代码是:

page.driver.post url
page.driver.status_code.should be 302
follow_redirect!

它工作正常,直到follow_redirect!.我已经尝试过page.driver.follow_redirects!但它也不起作用。

有什么帮助吗?

Capybara::Rails::TestCase.class_eval do
  def post(url)
    page.driver.post url
    visit page.driver.response.location
  end
end

我建议您使用以下方法来关闭确认对话框:

https://stackoverflow.com/a/2609244/560123

这样,您就不会关心自己发布帖子,而是信任您的应用程序代码来执行发布请求。

问候

最新更新