如何为Capybara请求添加标题?

时间:2018-04-01 03:51:55

标签: capybara ruby-on-rails-4.2 capybara-webkit

有没有办法将HTTP标头添加到Capybara请求/测试。

我正在使用以下宝石。

capybara (2.4.4)
capybara-webkit (1.5.2)
chromedriver-helper (1.0.0)
rails (4.2.6)

以下是Capybara设置:

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

Capybara.javascript_driver = :chrome

Capybara::Screenshot.register_driver(:chrome) do |driver, path|
  driver.browser.save_screenshot(path)
end

1 个答案:

答案 0 :(得分:0)

如果你正在使用capybara-webkit(如你的Gemfile所示),你可以使用page.driver.header方法 - https://github.com/thoughtbot/capybara-webkit#non-standard-driver-methods。但是,如果您实际上使用selenium作为驱动程序(如驱动程序注册所示),那么您无法在不配置修改某种代理的请求(browsermob等)的情况下添加标头。

话虽这么说,你真的应该问问自己为什么你想要/需要设置额外的标题,你可能会尝试测试一些可以直接作为请求测试而不是直接测试的东西而不是使用Capybara进行功能/系统测试