Selenium 2 Webdriver and IE 9 Security Certificate

damo_inc picture damo_inc · Oct 10, 2011 · Viewed 34.4k times · Source

I have some Selenium 2 Webdriver test cases for Firefox and Internet Explorer 9. When I access https URLs on IE9 (Windows 7 64bit) I get "There is a problem with this website's security certificate". At this point the test hangs and eventually fails. I tried:

  • Getting Selenium to click on the "Continue to this website (not recommended)." link. This can't be done as this error page is not your usual page. Same with JavaScript - it doesn't execute.
  • I tried adding the registry key
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_ERROR_PAGE_BYPASS_ZONE_CHECK_FOR_HTTPS_KB954312
    that prevents the certificate-error-page from displaying - didn't work. Probably because I'm on Windows 7 with IE9.
  • Following this advice I tried using browsermob proxy, but there's very little documentation out there and I couldn't work it out.
  • Finally, I don't have admin access to my PC - e.g. no access to group policies. Selenium 2 Webdriver works fine on Firefox. I have all security zones enabled in IE Internet Options and if I run the tests on other URLs (http) then there is no problem.

    Has anyone got a solution to this problem? Does anyone now hot to use browsermob proxy (or any other proxy) effectively to overcome this issue?

    Thanks, Damo

    Answer

    Nyegaard picture Nyegaard · Jul 20, 2012

    Okay I just got it working under IE9 using C# and the following code:

    IWebDriver driver = new InternetExplorerDriver();
    driver.Url(YOUR_URL);
    driver.Navigate().GoToUrl("javascript:document.getElementById('overridelink').click()");
    

    And now it will go to the intended page. For Java it's as simple as:

    WebDriver driver = new InternetExplorerDriver();
    driver.get(YOUR_URL);
    driver.get("javascript:document.getElementById('overridelink').click();");