当前位置: 首页 > 知识库问答 >
问题:

使用firefox驱动程序时如何向Web服务器传递ssl证书

毛宏达
2023-03-14

我正在创建一个测试用例,用Capybara和SeleniumWebDriver测试一个安全的网站。

我想测试的webapp是安全的https类型,所以我需要将ssl证书(客户端证书)信息传递给webserver以接受我的连接。我知道我可以通过。当我通过Rest客户端请求时,将pem证书连接到https连接。

    cert = File.read('pem_file_location')
    http.use_ssl = true
    http.cert = OpenSSL::X509::Certificate.new(cert)
    http.key = OpenSSL::PKey::RSA.new(cert)
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE

如果我想通过firefox驱动程序建立https连接,我正在寻找类似的方法。

我得到了一个解决方案,其中我创建了自定义firfox配置文件,并将证书合并到该配置文件中,并在运行测试时使用它。但是我不想要这个解决方案,因为我公司的CI服务器上不允许配置文件。

任何帮助都将不胜感激

共有1个答案

平光明
2023-03-14

好的,如果您正在运行Selenium Grid(如本文所述),您可以为Firefox的节点配置提供“acceptSslCerts=true”选项,理论上,只要证书来自浏览器附带的一个受信任的cacerts权限,它就可能接受证书。

现在,如果您创建了自己的自定义CA权限,这将无法工作,除非您首先手动将CA导入浏览器cacerts存储。

 类似资料:
  • 我无法使用selenium webdriver 3.4.0启动Firefox浏览器

  • 无法启动边缘驱动程序,我得到下面提到的错误和代码,我使用的是下面。请帮忙

  • 问题内容: 我使用Selenium 2.35.0并配置代理设置,例如: 当我需要更改代理设置时,我会强制重新启动Webdriver并指定其他“ proxyStr”。 如何在不重新启动Webdriver的情况下实现此更改? 问题答案: 为任何给定的驱动程序设置代理时,仅在创建WebDriver会话时设置代理;它不能在运行时更改。即使您具有创建的会话的功能,也将无法更改它。因此,答案是,不,如果要使用

  • 我使用Selenium 2.35.0并配置代理设置,如: 当我需要更改代理设置时,我强制重新启动webdriver并指定其他“proxyStr”。 我如何能达到这一变化没有WebDrive重启?

  • 我们的应用程序可以使用Active Directory用户和组。我们在端口389上使用LDAP进行Active Directory操作。现在,我们的一个客户机希望我们添加一个使用LDAP+SSL进行Active Directory通信的选项。 他们告诉我们,他们在域上安装了一个本地CA,并对LDAP使用自签名证书。他们还告诉我们,他们会提供证书,不需要相互信任,我们应该使用Windows证书存储。

  • 我正在尝试用Java向下滚动APK页面。我正在使用Appium和Selenium。 我试过: 和