I'm working on a selenium project, and the system I need to test is using SSL certificate. Every time when try to login the we are getting this "Select a certificate" window. Which we cannot handle with webdriver.
I have tried click on ok button using AutoItx as below. But the Send("{ENTER}")
is not the best option continue with.
if (AutoItX.WinWaitActive("data:, - Google Chrome", "", 10) == 0)
{
AutoItX.WinActivate("data:, - Google Chrome");
AutoItX.Send("{ENTER}");
}
Is there a way to use and click on OK button using autoItx. Or is there a way we can load this certificate when defining chromedriver by using Capabilities.
Appreciate any ideas to solve this issue.
If you have multiple certificates and the one you want to select is not the first one then you will need to apply a filter.
http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls has an in-depth description of the filter values, but you're probably not interested in most of them and can use:
replacing [Issued By] with the issuer of your client certificate. I can't for the life of me manage to get the URL pattern working with anything more specific than [*.], which matches any URL.
This helped on Chrome Version 59.0.3071.86 (64-Bit), Win 7 Enterprise:
Create registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls
Here create new String value (REG_SZ) with name 1
As Value data enter:
{"pattern":"[*.]","filter":{}}
This is how the registry then looks like.
For more information on this key I found:
on Automatically select client certificates for these sites