selenium jenkins testng

selenium - Las pruebas de selenio fallan cuando las ejecuta Jenkins, pero tienen éxito cuando se ejecutan por línea de comando



selenium maven (3)

La mejor opción será dejar de ejecutar Jenkins como un servicio de Windows. Abra una ventana de comandos y comience Jenkins manualmente. En mi caso funcionó.

Tengo dos máquinas virtuales que ejecutan Windows Server 2012. Una está ejecutando Jenkins, y otra que ejecuta uno de los trabajos de compilación de Jenkins. El trabajo verifica el código de prueba de subversion y luego ejecuta mvn test -Dtest=com.package.name.TestName en un script de lote de Windows. La prueba se compila y ejecuta, pero falla con una ElementNotVisibleException . Estas son pruebas TestNG con Selenium y un controlador de Firefox.

Si tomo exactamente el mismo comando y lo ejecuto desde la línea de comandos de Windows, la prueba tiene éxito. Otra cosa que noto es que cuando se ejecuta desde la línea de comandos, aparece la ventana del navegador y puedo ver cómo funciona durante la prueba, pero cuando la ejecuta Jenkins no aparece ninguna ventana.

Encontré esta pregunta que sugiere que esto se debe a que nuestro Jenkins se está ejecutando como un servicio, y las pruebas están escritas para requerir una ventana del navegador en primer plano. La alteración de las pruebas para utilizar un controlador sin cabeza no es una opción para nosotros, ya que dará como resultado resultados de prueba inexactos. ¿Hay alguna manera de hacer que estas pruebas funcionen con Jenkins?


Nos enfrentamos a un tipo similar de problema al ejecutar nuestra prueba de selenio usando jenkins en firefox. Jenkins slave se instaló como servicio y firefox estaba dando problemas. Nuestra solución fue utilizar el servicio mediante credenciales de administrador de la máquina. Puede hacerlo abriendo services.msc y haciendo clic derecho en el servicio jenkins -> propiedades -> iniciar sesión. seleccione esta cuenta y configure las credenciales de administrador. Reinicie el servicio y estará listo para comenzar.


Yo recomendaría usar la Rejilla de Selenio. Su función explícita es servir varias pruebas diferentes al mismo tiempo.

Tus jenkins dispararían las pruebas contra la grilla que apuntarían todas las pruebas hacia tus nodos.