我真的被这个问题困了两天了。
场景:
需要测试的网站有一个自签名证书,所以InternetExplorer(WindowsXP中的8)显示
"此网站提供的安全证书不是由受信任的证书颁发机构颁发的。此网站提供的安全证书是为其他网站地址颁发的。"
对于IE8和自签名证书,这是很自然的,所以我采取了以下措施,但没有效果
1.在IE中手动添加/安装证书作为受信任根证书。但它不会显示在列表中,但它会成功添加到所有其他选项卡,即受信任根发布者、中间发布者授权、其他人。
1.相同的证书被添加到firefox的"服务器"下没有任何问题,并按预期工作。
1.我尝试使用以下代码,但其中一个对 selenium 有效
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.MANUAL);
Proxy.setSslProxy("trustAllSSLCertificates");
DesiredCapabilities capabilities1 = DesiredCapabilities.internetExplorer();
capabilities1.setCapability(CapabilityType.PROXY, proxy);
当这个不起作用的时候我试着用
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
我已经安装了cybervillans证书。
1.我已经尝试了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_ERROR_PAGE_BYPASS_ZONE_CHECK_FOR_HTTPS_KB954312方法,完全知道它是为win7。
5.我甚至尝试过将URL更改为颁发的权威,但即使这样,问题仍然存在。
现在我已经没有选择了。谁能告诉我该怎么做?我好像永远都被IE8困住了。
我已经在谷歌搜索了很多,以及在这个网站。但找不到一个解决我的问题。
3条答案
按热度按时间abithluo1#
当我在我们网站的开发/测试版本中使用Selenium时,经常会看到IE屏幕显示无效证书。
驱动程序.Navigate().GoToUrl(“javascript:文档.getElementById('覆盖链接').单击()”)
您看到的屏幕可能与错误证书屏幕略有不同,因此只需调整getElementById选择器以匹配锚的ID。
j91ykkif2#
我用它就像罗伯特写的,像这样:
relj7zay3#
此更改将永久接受IE中的所有证书错误,但仍然,优雅的解决方案:https://stackoverflow.com/a/7738795/2546759