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é:
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.
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();");
Encontré la respuesta en la pizarra de SQA: https://sqa.stackexchange.com/questions/1928/selenium-2-webdriver-and-ie-9-security-certificate
Creamos un certificado y funcionó como un encanto.
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.