Firefox中使用WebDriver和C#的不受信任的SSL证书

时间:2013-11-21 21:30:55

标签: c# firefox selenium automation selenium-webdriver

更新:我升级到Selenium 2.37,但仍然遇到同样的问题!!

最新编辑:定义pref后仍然无法工作(见下文)

              //some more prefs:
                profile.SetPreference("network.http.phishy-userpass-length", 255);
                profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", _url);                     
                profile.SetPreference("webdriver_assume_untrusted_issuer", true); 
                profile.SetPreference("webdriver_accept_untrusted_certs", true);
                profile.SetPreference("trustAllSSLCertificates", true);

我正在使用FF 25.0.1 Webdriver版本:2.31

我之前从未遇到过这个问题,但刚开始运行我的自动化测试用例时发生的事情是我收到SSL认证错误,即使我已经接受并添加为例外但我仍然收到错误,因此,我的测试案例失败了......

这是我在构建ff webdriver时添加的内容......

FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("network.http.phishy-userpass-length", 255);
profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", _url);                     
profile.SetPreference("webdriver_assume_untrusted_issuer", false);                    
drv = new FirefoxDriver(profile);

screen shot.

4 个答案:

答案 0 :(得分:0)

您可以将此首选项设置为true并尝试 - webdriver_accept_untrusted_certs

答案 1 :(得分:0)

你没有使用-trustAllSSLCertificates -switch运行selenium的原因?

答案 2 :(得分:0)

我也有这个,但是使用Java API。我刚刚在Selenium 2.35上发现了这个问题,希望在2.37升级解决方案...... firefox 24.0.1和25.0都存在问题。 它适用于ChromeDriver

目前,我发现只有一个网站出现问题(https://twitter.com) 您的测试公开的网站是?我很期待在另一个地方重现。

答案 3 :(得分:0)

我已经尝试过@Akabar在评论中写的方式,我可以分享更多有关如何解决此问题的细节: 您可以在此查看以供参考:Selenium Webdriver: Surpressing untrusted connection message in firefox

步骤如下:

步骤1 - 手动打开您的FF并手动接受自签名证书(我的意思是接受" sec_error_unknown_issuer"安全例外)

步骤2 - 找到您的FF配置文件目录并复制您的配置文件目录的路径,例如:MAC env):" / Users / UserABC / Library / Application Support / Firefox / Profiles / vndms5adearwtry .DEFAULT"

步骤3 - 在你的selenium代码(java版本)中,使用以下方法初始化FirefoxDriver:

FirefoxProfile firefoxProfile = new FirefoxProfile(new File("/Users/UserABC/Library/Application Support/Firefox/Profiles/vndms5adearwtry.default"));
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
FirefoxDriver driver = new FirefoxDriver(capabilities);

希望它有所帮助。