Selenium Chrome压缩/关闭客户端证书选择对话框

时间:2015-07-24 07:53:13

标签: google-chrome selenium selenium-chromedriver client-certificates ui-testing

如何使用selenium(chrome驱动程序)抑制或自动关闭客户端证书选择对话框?

chrome client certificate selection (german)

我无法使用此证书,因为它存储在芯片卡上,我必须输入PIN码。如果没有可用的卡,我们的网站使用基于凭据的登录,我想测试它。

3 个答案:

答案 0 :(得分:1)

在linux中你需要这个文件集:

$HOME/etc/opt/chrome/policies/managed/auto_select_certificate.json

有了这个内容:

{
  "AutoSelectCertificateForUrls": [ "{\"pattern\":\"*\",\"filter\":{}}" ]
}

有了这个设置,它应该自动允许每个安装的客户端证书。

关于如何在 C# 中使用 Docker 解决它的详细文章可以在我在这里写的一篇文章中找到: https://sgedda.medium.com/running-selenium-with-chromedriver-together-with-client-certificate-set-in-headful-mode-with-net-a79bde19e472

答案 1 :(得分:0)

尝试使用“--ignore-certificate-errors”和“--ignore-urlfetcher-cert-requests”参数启动chrome。

ChromeOptions opts = new ChromeOptions();
opts.addArguments("ignore-certificate-errors","ignore-urlfetcher-cert-requests");
WebDriver driver = new ChromeDriver(opts);
driver.get("http://www.google.com");
System.out.println("Title:" + driver.getTitle());

答案 2 :(得分:0)

我找到了解决此问题的方法: 您必须使用chrome参数-AutoSelectCertificateForUrls

将此添加到Windows注册表中:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls\1 = "{"pattern":"https://yoursite.com","filter":{}}"