6

Tengo todas mis pruebas ejecutadas en un cuadro ubuntu. Las pruebas están escritas en PHP. Funcionan perfectamente con el controlador de Firefox y el controlador de Chrome. Estoy usando un servidor de selenio independiente (selenium-server-standalone-2.25.0.jar) que se ejecuta en el mismo cuadro. Últimamente tengo que escribir una prueba contra las plataformas de IE. He intentado algunas cosas, pero hasta este momento todavía no estoy seguro de cuál es la forma correcta de configurar el controlador de IE para mi situación particular.Cómo configurar IE Webdriver en un cuadro remoto

He intentado instalar IE con mono en la misma caja ubuntu, pero tuve muchos problemas durante la instalación, y después de deshacerme de esos problemas y hacerlo para poder ejecutar IE desde mi línea de comandos, todavía no funcionó para mis pruebas.

I Lea la presente documentación particular en este caso: http://code.google.com/p/selenium/wiki/InternetExplorerDriver y seguido a través de una caja de ventanas, hasta que vi esto:

El servidor HTTP iniciado por el IEDriverServer.exe establece una lista de control de acceso para aceptar sólo conexiones de la máquina local, y no permite conexiones entrantes desde máquinas remotas. Actualmente, este no se puede cambiar sin modificar el código fuente al IEDriverServer.exe. Para ejecutar el controlador de Internet Explorer en una máquina remota , use el servidor remoto independiente de Java en conexión con el equivalente de RemoteWebDriver de su lenguaje .

así que descargué selenium-server-standalone-2.25.0.jar a la máquina de Windows y lo inicié; mi IEDriverServer.exe fue puesto en C: \ windows \ system32 \ que está en mi PATH. Luego cambié el código en mi cuadro ubuntu para apuntar al servidor de selenio que se ejecuta en el cuadro de Windows. Pero todavía no hay suerte.

Busqué en Google un poco, y hay casos en que las personas lograron ejecutarlo. Pero parece que están usando un enlace java o un enlace C# que supongo que están desarrollando en una caja local. No he encontrado un caso de trabajo que sea como el mío que es:

ubuntu box donde las pruebas basadas en PHP ejecutan la conexión a un servidor de selenio remoto que se ejecuta en Windows. una caja de ventanas con un servidor que ejecuta el selenio independiente y con IEDriverServer.exe en el PATH

Gracias.

+0

Alguna información realmente útil aquí sería qué enlaces de lenguaje PHP está usando, una muestra del código PHP que falla y qué errores está recibiendo del servidor remoto de Java. – JimEvans

+0

También estoy teniendo el mismo problema. Parece que no hay forma de probar remotamente en IE a partir de una prueba de PHP. Estoy usando https://github.com/Nearsoft/PHP-SeleniumClient como enlace de idioma. –

Respuesta

6

Tuve un problema similar, trabajando en Linux y queriendo ejecutar mis pruebas WD contra IE 11, y lo puse a funcionar. La diferencia principal entre mí y el OP es que mis pruebas están escritas en Java.

Mi objetivo era así:

  • Mi estación de trabajo: Ubuntu 14.04, pruebas escrito en Java.
  • máquina Windows: algunos VM con IE 11.
  • Quiero correr mis pruebas en contra de IE que se ejecutan en la máquina Windows, desde la estación de trabajo de Ubuntu (de modo que no necesito para instalar mi entorno de desarrollo en su conjunto la máquina de Windows).

Lo que hice:

  1. Got Win 7 & IE 11 VirtualBox VM, descargado de Microsoft (here), impulsado en.
  2. Descargado al cuadro de Windows: (a) Java JRE, (b) Selenium Standalone Server jar (NO "El servidor de controlador de Internet Explorer" también mencionado en esa página), (c) Internet Explorer Driver.
  3. Configurar la red de solo host entre mi estación de trabajo y el cuadro de Windows. Here's una bonita descripción del proceso. A pesar de que la máquina virtual en la publicación del blog es Linux, funciona prácticamente igual para una VM de Windows (use "ipconfig" desde el símbolo del sistema en lugar de "ifconfig" para averiguar su IP).
  4. En caja de Windows, las cosas configuradas mencionados en la página oficial del controlador de Internet Explorer, en la sección Required Configuration. En caso de que cambien el enlace, los estoy pegando aquí:
  • El ejecutable IEDriverServer debe ser descargado y colocado en su PATH.
  • En IE 7 o superior en Windows Vista o Windows 7, debe configurar los ajustes del Modo protegido para que cada zona tenga el mismo valor. El valor puede estar activado o desactivado, siempre que sea el mismo para cada zona. Para establecer la configuración del Modo protegido, seleccione "Opciones de Internet ..." en el menú Herramientas y haga clic en la pestaña Seguridad. Para cada zona, habrá una casilla de verificación en la parte inferior de la pestaña con la etiqueta "Habilitar modo protegido".
  • Además, el "Modo protegido mejorado" debe estar desactivado para IE 10 y superior. Esta opción se encuentra en la pestaña Avanzado del cuadro de diálogo Opciones de Internet.
  • El nivel de zoom del navegador debe establecerse en 100% para que los eventos del mouse nativo se puedan establecer en las coordenadas correctas.
  • para IE 11 solamente, que se necesitan para establecer una entrada del registro en el equipo de destino para que el conductor pueda mantener una conexión a la instancia de Internet Explorer que crea. Para las instalaciones de Windows de 32 bits, la clave que debe examinar en el editor de registro es HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE. Para las instalaciones de Windows de 64 bits, la clave es HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE. Tenga en cuenta que la subclave FEATURE_BFCACHE puede o no estar presente, y debe crearse si no está presente. Importante: Dentro de esta clave, cree un valor DWORD llamado iexplore.exe con el valor de 0.

Nota que no necesitaba poner IEDriverServer.exe 's ubicación en el PATH, y no podía encontrar " Modo protegido mejorado "en mi configuración de IE 11 (por lo que no hice eso).

  1. En caja de Windows, partió de solicitud de comando (deben tanto estar en ejecución; lo he descubierto a partir de los mensajes en this issue):
    • java -jar selenium-server-standalone-2.53.1.jar
    • IEDriverServer.exe
  2. Editado la sección de puesta en marcha de mis pruebas de usar RemoteWebDriver, al igual que (192.168.56.101 fue el anfitrión Sólo IP de la red de la caja de Windows):

    DesiredCapabilities capability = DesiredCapabilities.internetExplorer(); 
    driver = new RemoteWebDriver(new URL("http://192.168.56.101:4444/wd/hub"), 
        capability); 
    
  3. Ran las pruebas de mi estación de trabajo de Ubuntu de forma normal: mvn test myproject

y funcionó! :)

+0

Gracias por detallar su trabajo –

Cuestiones relacionadas