Tutorial de integración de Maven y Jenkins con Selenium

¿Qué es Jenkins en selenio?

Jenkins es la herramienta líder de integración continua de código abierto desarrollada por el laboratorio Hudson. Es multiplataforma y se puede utilizar en Windows, Linux, Mac OS y Solaris. Jenkins está escrito en Java. El uso principal de Jenkin es monitorear cualquier trabajo que pueda ser SVN checkout, cron o cualquier estado de la aplicación. Activa acciones preconfiguradas cuando ocurre un paso particular en los trabajos.

Características importantes de Jenkins

  • Soporte de cambio: Jenkins genera la lista de todos los cambios realizados en repositorios como SVN.
  • Enlaces permanentes: Jenkins proporciona enlaces directos a la última versión o a la versión fallida que se pueden utilizar para facilitar la comunicación.
  • Instalación: Jenkins es fácil de instalar, ya sea mediante un archivo de instalación directa (exe) o un archivo war para implementar mediante el servidor de aplicaciones.
  • Email integración: Jenkins se puede configurar para email el contenido del estado de la construcción.
  • Fácil configuración: Configurar varias tareas en Jenkins es fácil.
  • Prueba de pruebaNG: Jenkins se puede configurar para ejecutar la versión de prueba de automatización Prueba después de cada compilación de SVN.
  • Varias máquinas virtuales: Jenkins se puede configurar para distribuir la compilación en varias máquinas.
  • Construcción del proyecto: Jenkins documenta el details de jar, versión de jar y mapeo de números de compilación y jar.
  • plugins: 3rd El complemento Party se puede configurar en Jenkins para utilizar funciones y funciones adicionales.

¿Por qué Jenkins y Selenium?

  • Ejecutar pruebas de Selenium en Jenkins le permite ejecutar sus pruebas cada vez que su software cambia e implementar el software en un nuevo entorno cuando pasan las pruebas.
  • Jenkins puede programar sus pruebas para que se ejecuten en un momento específico.
  • Puede guardar el historial de ejecución y los informes de prueba.
  • Jenkins apoya a Maven para construir y Pruebas un proyecto en continua integración.

¿Qué es Maven en Selenio?

Maven es una potente herramienta de gestión de proyectos/construcción, basada en el concepto de POM (Modelo de objetos de proyecto) que incluye información del proyecto e información de configuración para Maven, como directorio de construcción, directorio de origen, dependencia, directorio de origen de prueba, objetivos, complementos, etc. .

Por qué Maven y Jenkins

Selenium WebDriver es excelente para la automatización del navegador. Pero, cuando se usa para probar y crear un marco de prueba, parece que no tiene suficiente potencia. La integración de Maven con Selenium proporciona seguimientowing beneficios
Apache Maven brinda soporte para administrar el ciclo de vida completo de un proyecto de prueba.

  • Maven se utiliza para definir la estructura del proyecto, las dependencias, la compilación y la gestión de pruebas.
  • Con pom.xml (Maven) puede configurar las dependencias necesarias para crear pruebas y ejecutar código.
  • Maven descarga automáticamente los archivos necesarios del repositorio mientras construye el proyecto.

Cómo instalar Maven y usarlo con TestNG Selenium

Aquí se detallan los pasos para instalar Maven y usarlo con TestNG Selenium

Para este tutorial, usaremos Eclipse (Juno)IDE para Java Los desarrolladores configurarán el proyecto Selenium WebDriver. Además necesitamos sumar m2eclipse conectar a Eclipse para facilitar el proceso de compilación y crear el archivo pom.xml.
Sumemos m2eclipse conectar a Eclipse con seguimientowing pasos:

Paso 1) In Eclipse IDE, seleccione Ayuda | Instalar nuevo software en Eclipse Menú principal.

Paso 2) En el cuadro de diálogo Instalar, ingrese la URL https://www.eclipse.org/m2e/. Seleccione Funciona para y el complemento m2e como se muestra a continuaciónwing captura de pantalla:

Instale Maven y úselo con TestNG Selenium

Paso 3) Haga clic en Siguiente botón y finalizar la instalación.

Configurar Eclipse con Maven

Con el complemento m2e instalado, ahora necesitamos crear un proyecto Maven.

Paso 1) In Eclipse IDE, cree un nuevo proyecto seleccionando Archive | Novedad | Otros en Eclipse .

Paso 2) En Novedad diálogo, seleccionar Maven | Proyecto Maven y haga clic en Siguiente

Instale Maven y úselo con TestNG Selenium

Paso 3) En Nuevo proyecto Maven cuadro de diálogo seleccione el Crea un proyecto sencillo y haga clic en Siguiente

Instale Maven y úselo con TestNG Selenium

Paso 4) Introduzca WebdriverTest en Identificación del grupo: y Identificación del artefacto: y haga clic en finalizar

Instale Maven y úselo con TestNG Selenium

Paso 5) Eclipse creará Prueba de controlador web con seguimientowing estructura:

Instale Maven y úselo con TestNG Seleniuml

Paso 6) Haga clic derecho en Biblioteca del sistema JRE y seleccione el Propiedades opción del menú.

Instale Maven y úselo con TestNG Selenium

En Propiedades de la biblioteca del sistema JRE diálogo box, asegurarse JRE predeterminado del espacio de trabajo está seleccionado y haga clic en Aceptar

Instale Maven y úselo con TestNG Selenium

Paso 7). Seleccione pom.xml en Proyecto Explorer..

Instale Maven y úselo con TestNG Selenium

El archivo pom.xml se abrirá en la sección Editor

Instale Maven y úselo con TestNG Selenium

Paso 8) Agregue Selenium, Maven, TestNG, junit dependencias de pom.xml en el nodo :

	<dependencies>			
        <dependency>				
             <groupId>junit</groupId>								
             <artifactId>junit</artifactId>								
             <version>3.8.1</version>								
             <scope>test</scope>								
        </dependency>				
        <dependency>				
            <groupId>org.seleniumhq.selenium</groupId>								
            <artifactId>selenium-java</artifactId>								
            <version>2.45.0</version>								
		</dependency>				
        <dependency>				
            <groupId>org.testng</groupId>								
            <artifactId>testng</artifactId>								
            <version>6.8.8</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

Paso 9) Cree una nueva clase TestNG. Ingrese el nombre del paquete como "ejemplo" y "NuevaPrueba" en el Nombre: textobox y haga clic en el Acabado botón como se muestra en la siguientewing captura de pantalla:

Instale Maven y úselo con TestNG Selenium

Paso 10). Eclipse creará la clase NewTest como se muestra a continuaciónwing captura de pantalla:

Instale Maven y úselo con TestNG Selenium

Paso 11) Agrega el siguientewing código al Nueva prueba clase:

Este código verificará el título de la página de selenio de Guru99.

package example;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;	
import org.testng.annotations.BeforeTest;	
import org.testng.annotations.AfterTest;		
public class NewTest {		
	    private WebDriver driver;		
		@Test				
		public void testEasy() {	
			driver.get("http://demo.guru99.com/test/guru99home/");  
			String title = driver.getTitle();				 
			Assert.assertTrue(title.contains("Demo Guru99 Page")); 		
		}	
		@BeforeTest
		public void beforeTest() {	
		    driver = new FirefoxDriver();  
		}		
		@AfterTest
		public void afterTest() {
			driver.quit();			
		}		
}	

Paso 12) Haga clic derecho en WebdriverTest y seleccione PruebaNG | Convertir a TestNG.
Eclipse creará testng.xml que dice que necesita ejecutar solo una prueba con el nombre Nueva prueba como se muestra a continuaciónwing captura de pantalla:

Instale Maven y úselo con TestNG Selenium

Actualice el proyecto y asegúrese de que el archivo aparezca en el árbol. Explorador de paquetes (haga clic derecho en el proyecto – Actualizar).

Instale Maven y úselo con TestNG Selenium

Paso 13) Ahora necesitas ejecutar la prueba a través de esto. pruebang.xml.

Entonces, ve a la Ejecutar configuraciones y crear un nuevo lanzamiento PruebaNG, seleccione el proyecto y el campo Suite as prueba.xml y haga clic en Ejecutar

Instale Maven y úselo con TestNG Selenium

Asegúrese de que la compilación haya finalizado correctamente.

Paso 14). Además, debemos agregar

  1. complemento-compilador-maven
  2. complemento-maven-surefire
  3. prueba.xml

a pom.xml.

El complemento maven-surefire se utiliza para configurar y ejecutar pruebas. Aquí el complemento se utiliza para configurar testing.xml para la prueba TestNG y generar informes de prueba.

El complemento maven-compiler se utiliza para ayudar a compilar el código y utilizar la versión JDK particular para la compilación. Agregue todas las dependencias a continuación.wing fragmento de código, a pom.xml en el nodo :

Instale Maven y úselo con TestNG Selenium

Paso 15) para ejecutare pruebas en el ciclo de vida de Maven, haga clic derecho en WebdriverTest y seleccione Correr como | prueba experta. Maven ejecutará la prueba del proyecto.

Instale Maven y úselo con TestNG Selenium

Asegúrese de que la compilación haya finalizado correctamente.

Cómo integrar Jenkins con Selenium WebDriver

Aquí se detallan los pasos para instalar Jenkins y configurarlo para ejecutar Maven con TestNg Selenium

Instalación

Paso 1) Ve a http://jenkins-ci.org/ y descargue el paquete correcto para su sistema operativo. Instale Jenkins.

Integración de Jenkins con Selenium WebDriver

Paso 2) Descomprima Jenkins en la carpeta especificada. Ejecute el archivo exe como se muestra a continuaciónwing captura de pantalla:

Integración de Jenkins con Selenium WebDriver

Paso 3) In Configuración de Jenkins 1.607 ventana haga clic en Siguiente del botón.

Integración de Jenkins con Selenium WebDriver

Paso 4) Haga clic en Instalar botón al final.

Integración de Jenkins con Selenium WebDriver

Paso 5) Una vez finalizada la instalación, navegue hasta el Panel de Jenkins (http://localhost:8080 de forma predeterminada) en la ventana del navegador.

Integración de Jenkins con Selenium WebDriver

Paso 6) Haga clic en el Nuevo elemento enlace para crear un trabajo de CI.

Integración de Jenkins con Selenium WebDriver

Paso 7) Seleccione el botón de opción del proyecto Maven como se muestra a continuación.wing captura de pantalla:

Integración de Jenkins con Selenium WebDriver

Usando el Construir un Proyecto Maven Como opción, Jenkins admite la creación y prueba de proyectos Maven.

Paso 8) Haga clic en el botón Aceptar. Se crea un nuevo trabajo con el nombre "WebdriverTest" en Jenkins Dashboard.

Integración de Jenkins con Selenium WebDriver

Paso 9) Ve a Administrar Jenkins => Configurar sistema como se muestra a continuaciónwing captura de pantalla.

Integración de Jenkins con Selenium WebDriver

Haga clic en Instalaciones de JDK y configure JDK como se muestra a continuación.wing captura de pantalla:

Integración de Jenkins con Selenium WebDrive

Paso 10) Visite la Estrechar sección de nuevo trabajo.

  • En la POM raíz textobox, ingrese la ruta completa a pom.xml
  • En la sección Objetivos y opciones, ingrese "prueba limpia"
  • Integración de Jenkins con Selenium WebDriver

Paso 11) Haga clic en ¡Aplicá! del botón.

Integración de Jenkins con Selenium WebDriver

Paso 12) En la página del proyecto WebdriverTest, haga clic en el Construir ahora .

Integración de Jenkins con Selenium WebDriver

Maven construirá el proyecto. Luego hará que TestNG ejecute los casos de prueba.

Paso 13) Una vez que se completa el proceso de compilación, en Jenkins Dashboard haga clic en Prueba de controlador web proyecto

Integración de Jenkins con Selenium WebDriver

Paso 14) La página del proyecto WebdriverTest muestra el historial de compilación y enlaces a los resultados como se muestra a continuación.wing captura de pantalla:

Integración de Jenkins con Selenium WebDriver

Paso 15) Haga clic en el enlace "Último resultado de la prueba" para ver los resultados de la prueba como se muestra a continuación.wing captura de pantalla:

Integración de Jenkins con Selenium WebDriver

Paso 16). Seleccione una compilación específica y verá el estado actual haciendo clic en "salida de consola".

Integración de Jenkins con Selenium WebDriver

Programación de Jenkins para ejecución automática.

La programación de compilaciones (pruebas de selenio) es una de las características importantes de Jenkins, donde activa automáticamente la compilación, según criterios definidos. Jenkins proporciona varias formas de desencadenar el proceso de compilación en la configuración de Build Trigger.

Por ejemplo:
Ingrese 0 23 * * * en el texto del Horariobox como se muestra a continuaciónwing captura de pantalla. Esto activará el proceso de construcción todos los días a las 11 p.m.

Jenkins para ejecución automática

Usando Jenkings sin Maven

Para ejecutar el script TestNg puro en Jenkins, ingrese lo siguientewing en construccion

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml

Jenkins para ejecución automática

  • Haga clic en el botón Guardar.
  • Nota: La ruta real de la carpeta lib y bin debe agregarse en el comando anterior.
  • Después de guardar el comando, Jenkins creará el proyecto en un tiempo predefinido y este comando se ejecutará utilizando TestNG.
  • El resultado se almacenará en un archivo HTML de informe personalizado que se puede enviar por correo electrónico.mail con una configuración Jenkin
  • La salida del código será

Jenkins para ejecución automática

Beneficios de usar Jenkins

  1. Búsqueda temprana de problemas: el error se puede detectar en la fase inicial del desarrollo del software.
  2. Integración automática: no se requiere ningún esfuerzo adicional para integrar todos los cambios
  3. Instalador: un sistema desplegable disponible en cualquier punto de desarrollo
  4. Registros: registros de construcción de piezas mantenidos
  5. Soporte y complementos: una de las razones de la popularidad de Jenkin es la disponibilidad de soporte de una gran comunidad. Además, hay disponibles muchos complementos listos para usar que lo ayudarán a ampliar su funcionalidad.