S.A*_*Aux 2 ssl automation google-chrome autoit selenium-webdriver
我正在从事硒项目,我需要测试的系统正在使用SSL证书。每次尝试登录时,我们都会显示“选择证书”窗口。我们无法使用webdriver处理。

我尝试使用AutoItx单击“确定”按钮,如下所示。但是,Send("{ENTER}")并不是最好的选择。
if (AutoItX.WinWaitActive("data:, - Google Chrome", "", 10) == 0)
{
AutoItX.WinActivate("data:, - Google Chrome");
AutoItX.Send("{ENTER}");
}
Run Code Online (Sandbox Code Playgroud)
有没有一种使用方法,然后使用autoItx单击“确定”按钮。还是有一种方法可以通过使用功能在定义chromedriver时加载此证书。
感谢所有解决此问题的想法。
如果您有多个证书并且您要选择的不是第一个,则需要应用过滤器。
http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls对过滤器值进行了深入描述,但您可能对其中的大多数不感兴趣,可以使用:
{"pattern":"[*.]","filter":{"ISSUER":{"CN":"[Issued By]"}}}
Run Code Online (Sandbox Code Playgroud)
将[Issued By]替换为您的客户端证书的颁发者。我一生都无法让 URL 模式与任何比 [*.] 更具体的东西一起工作,它匹配任何 URL。
小智 5
这对Chrome版本59.0.3071.86(64位),Win 7 Enterprise有所帮助:
创建注册表项:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome \ AutoSelectCertificateForUrls
在这里创建名称为1的新字符串值(REG_SZ)
在数值数据中输入:
{“ pattern”:“ [*。]”,“ filter”:{}}
有关此密钥的更多信息,我发现:
该值必须是字符串化JSON字典的数组。每个字典的格式必须为{“ pattern”:“ $ URL_PATTERN”,“ filter”:$ FILTER},其中$ URL_PATTERN是内容设置模式。$ FILTER限制浏览器将自动从客户端证书中选择。与过滤器无关,将仅选择与服务器的证书请求匹配的证书。如果$ FILTER的格式为{“ ISSUER”:{“ CN”:“ $ ISSUER_CN”}},则仅选择由具有CommonName $ ISSUER_CN的证书颁发的客户端证书。如果$ FILTER是空字典{},则不另外限制客户端证书的选择。
| 归档时间: |
|
| 查看次数: |
6497 次 |
| 最近记录: |