vsphere vcenter update for esxi enable internet-explorer-9 webdriver selenium-webdriver

internet explorer 9 - vcenter - Selenium 2 Webdriver y IE 9 Security Certificate



vsphere web client 6.5 download (8)

Tengo algunos casos de prueba de Selinium 2 Webdriver para Firefox e Internet Explorer 9. Cuando accedo a las URL https en IE9 (Windows 7 64bit) obtengo "Hay un problema con el certificado de seguridad de este sitio web". En este punto, la prueba se bloquea y finalmente falla. Lo intenté:

  • Hacer que Selenium haga clic en "Continuar a este sitio web (no recomendado)". enlazar. Esto no se puede hacer ya que esta página de error no es su página habitual. Lo mismo con JavaScript: no se ejecuta.
  • Traté de agregar la clave de registro
    HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Internet Explorer / MAIN / FeatureControl / FEATURE_ERROR_PAGE_BYPASS_ZONE_CHECK_FOR_HTTPS_KB954312
    que impide que se muestre la página de error de certificado - no funcionó. Probablemente porque estoy en Windows 7 con IE9.
  • Siguiendo this consejo, traté de utilizar el proxy browsermob, pero hay muy poca documentación y no pude resolverlo.
  • Finalmente, no tengo acceso de administrador a mi PC, por ejemplo, no tengo acceso a políticas grupales. Selenium 2 Webdriver funciona bien en Firefox. Tengo habilitadas todas las zonas de seguridad en las Opciones de Internet de IE y si ejecuto las pruebas en otras URL (http) no hay problema.

    ¿Alguien ha encontrado una solución a este problema? ¿Alguien ahora tiene ganas de usar el proxy de browsermob (o cualquier otro proxy) efectivamente para superar este problema?

    Gracias, Damo


    ¿Algún progreso en esto? Estoy tratando de hacer esto de capacidades ... pero no sé cómo hacerlo usando Ruby :(

    En Chrome es simple ya que puedes usar interruptores:

    nav=Selenium::WebDriver.for(:chrome, :switches => %w[--ignore-certificate-errors -])

    Tal vez es posible hacerlo para IE utilizando interruptores


    Bien, acabo de hacerlo funcionar bajo IE9 usando C # y el siguiente código:

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

    Y ahora irá a la página prevista. Para Java es tan simple como:

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



    Esto funcionó para mí en el pasado, pruébalo,

    DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); Webdriver driver = new InternetExplorerDriver(capabilities);


    Las otras respuestas tienen la idea correcta, pero fallan en la práctica porque WebDriver no navega de inmediato a la página de error del certificado. La implementación correcta debería esperar un poco.

    new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("Certificate")); driver.navigate().to("javascript:document.getElementById(''overridelink'').click()");


    Podemos usar el siguiente código.

    wait =new WebDriverWait(webdriver, 10); webdriver.get(url); WebElement ele =wait.until(ExpectedConditions.elementToBeClickable( webdriver.findElement(By.linkText("Continue to this website (not recommended).")))); ele.click();


    Usando los enlaces de Selenio-Python:

    #region SSL workaround for IE if "Certificate Error" in driver.title: driver.get("javascript:document.getElementById(''overridelink'').click();")


    hay una solución mucho más simple en caso de que use el controlador de IE, documentado en esta reply . El beneficio adicional es que no tiene que ser el propietario del sitio y no tiene que enredarse con browsermob o el registro o cualquier otra tecnología de bajo nivel.