繁体   English   中英

如何在spec_helper.rb中为Capybara Webkit设置ignore_ssl_errors选项

[英]How to set the ignore_ssl_errors option for Capybara Webkit in spec_helper.rb

在我的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})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM