Integración Contínua con Jenkins para scripts creados con Selenium WebDriver – Caso de Estudio
Un amigo me acaba de enviar un correo donde me cuenta que ha podido generar scripts de automatización utilizando Selenium WebDriver y ahora debe integrarlos con Jenkins para la ejecución de pruebas y presentación de informes porque se lo están pidiendo los interesados (key user & stakeholders), ¿Cómo se puede lograr ésto?
A modo de una rápida respuesta, le envié los siguientes enlaces como para que comenzara a investigar sobre el tema
Running Selenium Webdriver tests in Jenkins using Ant
http://www.ontestautomation.com/running-selenium-webdriver-tests-in-jenkins-using-ant/
Continuous Integration
http://www.browserstack.com/automate/continuous-integration
Tutorial de Jenkins for Selenium
http://www.learn-automation.com/p/jenkins-for-selenium.html
.
¿Qué opinas?
¿Qué otro tipo de ayuda le podríamos dar?
¿Has trabajo con este tipo de framework?
¿Tienes experiencia al respecto que pueda aportar valor a mi amigo y a la comunidad de testers que nos siguen?
Gracias por cualquier dato que nos puedas ofrecer, lo poco será muy bienvenido!
Alguna otra alternativa a ant o maven? yo tengo mis scripts en Ruby, utilizando Selenium Webdriver y necesito intergrar todo con Jenkins.
Saludos!
Hola!
Estos ultimos meses justo estuve encarando este tema en mi laburo.
Vi que el primer link haces referencia a ejecutar via Ant. Esta tecnologia ya es un tanto vieja, yo utilizaria maven en lugar de Ant.
Maven y Jenkins van muy de la mano y esta todo super probado ya con mucha doc.
Lo primero que tiene que hacer es «mavenizar» el framework que esta corriendo lo test (si aun no lo tiene) para poder ejecutar dichos test via linea de comando. Lo idea es tratar de parametrizar un poco la ejecucion como por ejemplo, entorno, pais, etc.
Una vez hecho esto, la integracion con jenkins es muy sencilla.
En princpio, que baje un jenkins local. Se instala muy facilmente.
Luego se crea un «job» en jenkins apuntando al repo de los test y se crean parametros de ejecucion si es que parametrizaste los test (como comente antes).
El Job de jenkins ejecuta usando maven como en el paso que comente antes de correrlo desde consola, es decir, que si te anduvo desde consola, desde jenkins te va a andar sin problemas.
Por ejemplo, yo corro los test desde consola con una sentencia similar a esta:
mvn -Dcountry=ar -Denv=QA -Dxml.file=testng.xml test
Aclaro tb que uso TestNG para correr los test de selenium.
Yo en su momento, use esta guia para configurar jenkins:
http://www.itcuties.com/tools/jenkins-installation-and-configuration-with-maven-ant-and-github/#jenkins-maven-ant-and-git-configuration
(el repo nuestro lo tenemos en GIT)
Sldos,
Lucas.-
Muchas gracias Lucas por tu comentario.
Vamos haciendo camino de esta manera, compartiendo conocimiento y experiencia.
Hola,
Gracias por el comentario y aporte Lucas!
Permitime aclarar que tanto ANT como MAVEN y TestNG son herramientas para el lenguaje JAVA. Esto quiero aclararlo porque quien no sabe las diferencias piensa que son herramientas universales y que funcinonan para cualquier lenguaje.
Saludos!