如何在spec_helper.rb中为Capybara Webkit设置ignore_ssl_errors选项
在我的spec_helper文件中,我有:
Capybara.javascript_driver = :webkit
ignore_ssl_errors
现在有一个我想要使用的ignore_ssl_errors
选项。 如何在spec_helper中指定?
以下是使用: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。 以下示例取自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})