2012-06-20 18 views
9

Mi código en Visual Studio está utilizando Selenium webdriver 2.24.0. Mi marco de prueba que estoy usando es Nunit. Mi código funcionó bien (cargando diferentes navegadores, dirigiendo los sitios web) hasta que se lanzó la versión 2.24.0.Error de modo protegido de Internet Explorer

He añadido el nuevo servidor autónomo de IE a mi proyecto.

Ahora cada vez que ejecuto mi código NUnit encuentra este mensaje de error.

FirstSeleniumTest.SeleniumTest.TestGoogle: 
SetUp : System.InvalidOperationException : Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (NoSuchDriver) 
TearDown : System.NullReferenceException : Object reference not set to an instance of an object. 

Luego aparece el símbolo del sistema con esto.

Started InternetExplorerDriver server (64-bit) 
2.24.0.0 
Listening on port 50329 

He desactivado el modo protegido en mi IE. Todavía sin suerte.

¿Cómo puedo recuperar mi código para que funcione correctamente?

+1

¿Estas seguro que el modo protegido está deshabilitado para _todas_ 4 zonas de seguridad (Internet, Intranet, Sitios de confianza, Sitios restringidos locales)? –

+0

El modo protegido todavía estaba habilitado en sitios restringidos. Gracias por la corrección. Haga que responda, aceptaré – lbrown

+1

relacionado: solicitud de funciones de Selenium subyacente http://code.google.com/p/selenium/issues/detail?id=1795 –

Respuesta

16

Debe asegurarse de que el modo protegido esté habilitado o deshabilitado para todas 4 zonas de seguridad (Internet, intranet local, sitios de confianza, sitios restringidos). En otras palabras, el valor de configuración debe ser el mismo para todas las zonas de seguridad.

+1

Votación descendente porque la respuesta implica que el Modo protegido debe estar desactivado para todas las zonas. Esto es incorrecto. El modo protegido puede habilitarse o deshabilitarse, siempre que el valor sea el mismo para todas las zonas. Corregir la respuesta a ** no ** implica que el Modo protegido _debe_ estar deshabilitado, y eliminaré el voto a favor. – JimEvans

+0

@JimEvans Hola Jim, no sé por qué, pero solo funciona para mí cuando está apagado. ¿Algunas ideas? Estoy en Windows 7 (64 bits) con IE 10. –

15

sólo para añadir a las respuestas ya correctos, si el ajuste de todos los valores de la misma no es una opción, (Necesidad de seguridad deshabilitado es algunas zonas, pero quieren mantener la seguridad habilitada en otros) también se puede inicializar su conductor con la sobrecarga que incluye InternetExplorerOptions, y utilizar

new InternetExplorerOptions() { IntroduceInstabilityByIgnoringProtectedModeSettings = true} 
+0

esto rocas! Gracias – unreal

2

Estoy de acuerdo con lo que Alexander está diciendo, pero lo que si su empresa no le permite realizar cualquier cambio en la configuración de IE.


Los siguientes trabajó para mí:

File file = new File("M:\\dev\\ria\\iedriver\\2.42.0\\install\\exec\\IEDriverServer.exe"); 
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 

    DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 
    caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
    caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 

    WebDriver driver = new InternetExplorerDriver(caps); 
    driver.get("http://www.google.com"); 
Cuestiones relacionadas