and windows maven selenium jenkins webdriver

windows - and - selenium maven



Jenkins: las pruebas de GUI de Selenium no son visibles en Windows (8)

Durante algún tiempo he usado Jenkins como un servicio Windows 2008 R2 Standart (con lo que permite interactuar con el escritorio).

Ejecuté las pruebas de aceptación que funcionaban perfectamente fuera del sistema de integración continua. He visto el navegador y lo que está sucediendo allí. Sin embargo, en CI no pude ver el navegador y las pruebas fallaron en orden aleatorio.

De acuerdo con: Aislamiento de la sesión 0 en servicios y controladores en Windows :

En Windows XP, Windows Server 2003 y versiones anteriores de Windows, todos los servicios se ejecutan en la Sesión 0 junto con las aplicaciones. Esta situación plantea un riesgo de seguridad. En Windows Vista, Windows Server 2008 y versiones posteriores de Windows, el sistema operativo aísla los servicios en la Sesión 0 y ejecuta las aplicaciones en otras sesiones, por lo que los servicios están protegidos de los ataques que se originan en el código de la aplicación.

Por lo tanto, Jenkins debe ejecutarse desde la línea de comando:

java -jar jenkins.war --httpPort=...

Tenga en cuenta que si ya tiene Jenkins CI configurado como un servicio de Windows, antes de implementar solo necesitará especificar JENKINS_HOME en el directorio que se utilizó anteriormente; se aplicarán todas las configuraciones anteriores.

Cuando ejecuto mi prueba de selenio (prueba mvn) desde jenkins (windows) solo veo la salida de la consola. No veo que los navegadores reales se abran. ¿Cómo puedo configurar jenkins para que pueda ver los navegadores ejecutando la prueba?


En el caso de Windows 7, no debe instalar jenkins como aplicación de Windows (porque en esta versión reciente, Microsoft decidió dar a los servicios su propio escritorio oculto incluso si habilita la funcionalidad "interactuar con el escritorio" en el servicio jenkins), es posible que tenga que implementar de un archivo de guerra de la siguiente manera:

1) Descarga jenkins.war del sitio oficial de Jenkins

2) Implementarlo mediante el símbolo del sistema: java -jar {directoryOfJenkinsFile} /jenkins.war

3) Ahora puede acceder a la administración de jenkins en http: // localhost: 8080

Espero que te ayude!


Para interactuar con la GUI de escritorio, debe iniciar el agente esclavo a través de JNLP: https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-LaunchslaveagentviaJavaWebStart

Después de agregar el nodo en Jenkins (configurado como inicio de Java Web Start), solo realice una secuencia de inicio de proceso por lotes en la máquina de nodo:

java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp

(slave.jar se puede descargar desde http: // {Your Jenkins Server}: 8080 / jnlpJars / slave.jar)

Vea más respuestas aquí: ¿Cómo ejecutar pruebas de GUI en un esclavo de Windows jenkins sin conexión de escritorio remota?



Si ya está haciendo lo que sugiere @Sachin en un comentario (es decir, mirando la máquina donde se ejecuta realmente Jenkins) y aún no ve los navegadores, entonces su problema puede ser el siguiente:

Si ejecuta Jenkins como un servicio en segundo plano, no abrirá las aplicaciones en primer plano. Puede tratar de ejecutarlo no como un servicio en primer plano, o ejecutarlo como una cuenta de sistema local y marcar Permitir que el servicio interactúe con la opción de escritorio . Sin embargo, en el último caso, puede tener problemas de permisos.

Actualización: para asegurarse de que otros entiendan esta respuesta correctamente: la instalación "nativa" de Jenkins Windows no es realmente nativa. Es un envoltorio alrededor de Java que lo ejecuta como un servicio.


Tengo la solución. Ejecuté jenkins desde el símbolo del sistema como "java -jar jenkins.war" en lugar de la versión del instalador de Windows. Ahora puedo ver que se ejecutan mis pruebas basadas en el navegador.


Tuve el mismo problema, obtuve la solución después de muchos intentos.

Si está utilizando jenkins como un servicio de Windows, debe hacer lo siguiente:

1) En el servicio de Windows, seleccione el servicio de jenkins

2) Abra la ventana de propiedades del servicio -> Inicio de sesión -> active la casilla "Permitir que el servicio interactúe con el escritorio"

Después de eso deberías reiniciar el servicio jenkins

Esta solución funciona SOLAMENTE en Windows XP , espero que esto te ayude :)


este es un problema para Jenkins. en Windows, es posible acceder a la sesión del usuario de inicio de sesión (pantalla) en la cuenta del sistema. para hacer que las pruebas de UI sean visibles, Jenkins necesita evitar el UAC (control de acceso de usuario) en el fondo. esta solución funciona para mí con mi propio servicio ejecutándose como cuenta del sistema.