Pav*_*cek 8 selenium google-chrome ssl-certificate
我正在使用Selenium来测试一个具有HTTP Auth的网站,现在甚至是SSL证书.
作为HTTP Basic Authentification的解决方法,我正在使用ChromeDriver - http://code.google.com/p/selenium/wiki/ChromeDriver并以格式打开网址
https://username:password@my-test-site.com
Run Code Online (Sandbox Code Playgroud)
但是现在出于安全原因,需要在PC上安装客户端证书才能登录该应用程序.
但是,ChromeDriver无法看到"选择证书"提示,我甚至无法将其切换为警报.
有人解决了这个问题吗?
您可以通过添加包含以下内容的注册表项,告知Chrome浏览器使用特定客户端证书作为特定URL:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls\1 = "{\"pattern\":\"https://www.example.com\",\"filter\":{\"ISSUER\":{\"CN\":\"cn of issuer\"}}}"
Run Code Online (Sandbox Code Playgroud)
您可以通过在同一分支下添加其他键来添加其他条目.
它在Linux上有点复杂,因为您需要在以下位置修改json格式的首选项:
~/.config/chromium/Default/Preferences
Run Code Online (Sandbox Code Playgroud)
看起来上述选项仅适用于加入Active Directory域的计算机.如果上面的步骤不起作用您可以尝试使用预配置模板介绍可从以下网址下载的变化:https://www.chromium.org/administrators/policy-templates
您可以告诉Chrome使用--ignore-certificate-errors
命令行开关忽略不受信任的证书错误,而不是安装客户端证书.
为此,请ChromeDriver
按如下方式创建您的实例:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--ignore-certificate-errors"));
driver = new ChromeDriver(capabilities);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19895 次 |
最近记录: |