为 Capybara 组合两个驱动程序

Combine two drivers for Capybara

我目前正在使用此配置在控制台中隐藏 qt 消息:

Capybara.register_driver :webkit_with_qt_plugin_messages_suppressed do |app|
 Capybara::Webkit::Driver.new(app,Capybara::Webkit::Configuration.to_hash.merge(stderr: WebkitStderrWithQtPluginMessagesSuppressed.new))
end

Capybara.javascript_driver = :webkit_with_qt_plugin_messages_suppressed

但我还需要忽略 ssl 错误:

Capybara::Driver::Webkit.new({ :ignore_ssl_errors => true})

问题是如果我这样做

Capybara.register_driver :webkit_with_qt_plugin_messages_suppressed do |app|
 Capybara::Webkit::Driver.new(app,Capybara::Webkit::Configuration.to_hash.merge(stderr: WebkitStderrWithQtPluginMessagesSuppressed.new))
 Capybara::Webkit::Driver.new(app, :ignore_ssl_errors => true)
end

测试通过但我看到 qt 消息。
有什么办法吗?

我认为这应该可以满足您的需求

Capybara.register_driver :webkit_with_qt_plugin_messages_suppressed do |app|
     Capybara::Webkit::Driver.new(app,
        Capybara::Webkit::Configuration.to_hash.merge(
          stderr: WebkitStderrWithQtPluginMessagesSuppressed.new,
          ignore_ssl_errors: true)
     )
end