Chrome的AutoSelectCertificateForUrls仅在非无头模式下工作

时间:2019-05-09 19:14:50

标签: javascript selenium google-chrome selenium-webdriver selenium-chromedriver

我正在使用以下首选项文件为MacOS上的Chrome自动选择证书:

<plist version="1.0″>
<dict>
  <key>AutoSelectCertificateForUrls</key>
   <array>
     <string>{"pattern":"[*.]my.url.net","filter":{"ISSUER":{"CN":"CERT CA"}}}</string>
   </array>
</dict>
</plist>

它很好用,但是当我尝试使用 headless模式在Chrome上运行测试时,它似乎并没有自动选择证书。

有人知道如何使用它吗?我正在使用以下 ChromeOptions

'chromeOptions': {
      'args': ['--ignore-certificate-errors', '--headless', '--disable-gpu', '--no-sandbox']
}

2 个答案:

答案 0 :(得分:0)

我有同样的问题。 在浏览器可见的情况下,自动选择证书有效,在无头模式下,我的测试失败,因为未发生选择证书

答案 1 :(得分:0)

无头Chrome不支持策略配置,如果无头Firefox 是一个选项,则可以使用fireFoxOptions来使用可在其中添加证书的配置文件。我需要自动选择证书,并设法只使用无头的Firefox。打开默认的Firefox,设置您的配置文件,然后在不想手动执行的代码上指向它。

FirefoxOptions options = new FirefoxOptions();
FirefoxProfile firefoxProfile = new FirefoxProfile(@"C:\Users\....\AppData\Roaming\Mozilla\Firefox\Profiles\...default");
options.Profile = firefoxProfile;