【问题标题】:How to resolve self signed certificate error while running capybara tests?运行 capybara 测试时如何解决自签名证书错误?
【发布时间】:2021-02-23 10:11:49
【问题描述】:

我正在尝试在 chrome 浏览器上运行 rspec /capybara 测试。我收到截图中所示的错误error screenshot

我的 chrome 版本是 86,带有匹配的 chromedriver。 以下是我注册驱动程序的规范助手

Capybara.register_driver :selenium do |app|
        profile = Selenium::WebDriver::Chrome::Profile.new
        profile['extensions.password_manager_enabled'] = false
        caps = Selenium::WebDriver::Remote::Capabilities.chrome(
          "goog:chromeOptions" =>
          {
            "args" => [ "--start-maximized", "--test-type", "--disable-popup-blocking", "--disable-infobars" ],
            "prefs" => { "profile.managed_default_content_settings.geolocation" => 1, "profile.password_manager_enabled" => false, "credentials_enable_service" => false }
          },
          "unhandledPromptBehavior" => "ignore"
        )

        if !ENV.key?( "PARALLEL_TEST_GROUPS" )
           @driver = Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps, :http_client => client})
        else
           port =scan_port
           p "generated port:"+port.to_s
           @driver = Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps, :http_client => client, :port => port})
       
        end

      end

【问题讨论】:

    标签: ruby selenium-webdriver rspec capybara


    【解决方案1】:

    这取决于错误来自哪个连接,但假设它来自尝试连接到您的应用程序的浏览器,您可以从https://peter.sh/experiments/chromium-command-line-switches/ 尝试 --ignore-certificate-errors-spki-list 命令行选项。另一种选择是将您的自签名 CA 添加到您的计算机允许的 CA,从而使证书有效。

    【讨论】:

      【解决方案2】:

      我的 spec_helper 文件中有 webdrivers gem。我对此发表了评论并手动将我的 chromedriver 放在了我的 bin 文件夹中。稍后我将按照建议进一步调试现在,我时间紧迫。我确实尝试在我的钥匙串中引入一个有效的自签名证书,但没有成功

      【讨论】:

        猜你喜欢
        • 2021-06-29
        • 1970-01-01
        • 2022-10-04
        • 2012-06-29
        • 1970-01-01
        • 1970-01-01
        • 2018-08-26
        • 1970-01-01
        • 2016-01-11
        相关资源
        最近更新 更多