【发布时间】:2011-10-21 21:05:09
【问题描述】:
在我的 spec_helper 文件中,我有:
Capybara.javascript_driver = :webkit
capybara_webkit 现在有一个我想使用的ignore_ssl_errors 选项。如何在我的 spec_helper 中指定?
【问题讨论】:
标签: ruby-on-rails integration-testing capybara
在我的 spec_helper 文件中,我有:
Capybara.javascript_driver = :webkit
capybara_webkit 现在有一个我想使用的ignore_ssl_errors 选项。如何在我的 spec_helper 中指定?
【问题讨论】:
标签: ruby-on-rails integration-testing capybara
以下是使用 :ignore_ssl_errors 选项注册 :webkit 驱动程序的方法。
Capybara.register_driver :webkit do |app|
Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end
【讨论】:
在撰写本文时(capybara-webkit 1.7.1),配置似乎已经简化:
Capybara::Webkit.configure do |config|
config.ignore_ssl_errors
end
【讨论】:
不知何故,上述register_driver 示例不适用于Capybara 1.1.4。下面的例子取自capybara browser_spec.rb。
Capybara.register_driver :webkit_ignore_ssl do |app|
browser = Capybara::Webkit::Browser.new(Capybara::Webkit::Connection.new).tap do |browser|
browser.ignore_ssl_errors
end
Capybara::Webkit::Driver.new(app, :browser => browser)
end
Capybara.javascript_driver = :webkit_ignore_ssl
【讨论】:
正如@hjblok 所说,最近版本的 capybara-webkit 的界面发生了变化。您可以稍微简化一下解决方案:
Capybara.register_driver :webkit_ignore_ssl do |app|
Capybara::Webkit::Driver.new(app).tap {|d| d.browser.ignore_ssl_errors }
end
Capybara.javascript_driver = :webkit_ignore_ssl
【讨论】:
创建新的 webkit 对象时,您可以使用它来忽略 ssl 错误
Capybara::Driver::Webkit.new({ :ignore_ssl_errors => true})
【讨论】: