我现在坚持这个问题两天了。
情景:
需要测试的网站有自签名证书。所以Internet Explorer(Windows XP中的8个显示
“本网站提供的安全证书不是由受信任的证书颁发机构颁发的。 本网站提供的安全证书是针对不同网站的地址发布的。“
现在这在IE8和自签名证书的情况下是完全自然的,所以我采取了以下措施没有用
我尝试使用以下代码,但其中一个代码适用于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证书。
5.我甚至尝试将URL更改为已颁发的权限,但即使这样,问题仍然存在。
现在我无法选择。 任何人都可以向我指出我如何进行? 看来我永远坚持使用IE8。
我在谷歌以及本网站上搜索了很多。但无法找到解决我问题的方法。
答案 0 :(得分:0)
当我在我们网站的开发/测试版本中使用selenium时,我会不断获得IE屏幕以获取无效证书。 要传递这些,请将以下内容发送到IWebDriver实例
driver.Navigate()GoToUrl( “JavaScript的:的document.getElementById( 'overridelink')点击()”)。
您看到的屏幕可能与错误的证书屏幕略有不同,因此只需调整getElementById选择器以匹配锚点的ID。
答案 1 :(得分:0)
我像罗伯特写的一样使用它,就像这样:
if (driver instanceof InternetExplorerDriver) {
driver.navigate().to("javascript:document.getElementById('overridelink').click()");
}
答案 2 :(得分:-1)
此更改将永久接受IE中的所有证书错误,但仍然是优雅的解决方案: https://stackoverflow.com/a/7738795/2546759