Integración Continua de Selenium con Jenkins usando GIT
En este post, estoy tratando de mantener una guía completa de Integración Continua de Selenium (Integración de Extremo a Extremo) con Jenkins. Esta es una guía para implementar la Integración Continua con Jenkins, Maven y probar con GitHub. Hay muchas herramientas y técnicas que se pueden integrar en un entorno de IC. Aquí estoy usando Selenium WebDriver, Java, TestNG, Maven, y los integro con Jenkins. Para implementar la integración continua, siga los 9 pasos que mencioné a continuación.
- 1. Qué es la Integración continua
- 2. Qué es Maven
- 3. Construyendo Un Proyecto Maven En Eclipse
- 4. Qué es GIT
- 5. Qué es Jenkins
- 6. Instalación de Jenkins
- 7. Configuración de Jenkins para un proyecto Maven
- 8. Configurar el complemento de GIT en Jenkins
- 9. Ejecutar el proyecto Maven Desde Jenkins
Lo que es Integración Continua
La integración continua se abrevia como CI. La integración continua es una práctica de desarrollo que tiene como objetivo garantizar la corrección de un software. Después de cada confirmación, un conjunto de pruebas se ejecuta automáticamente y prueba un software para asegurarse de que el software se está ejecutando sin interrupciones. Si alguna prueba falla, obtendremos retroalimentación inmediata diciendo «build is broken».
En palabras simples, la integración continua es un proceso de verificación de la corrección de un software.
Algunas de las herramientas de integración continua son Jenkins, TeamCity, Bamboo, Travis, CircleCI, Bitbucket, CruiseControl
Qué es Maven
Maven, una palabra en idish que significa «acumulador de conocimiento». Maven es una herramienta de automatización de compilación utilizada principalmente para proyectos Java. Ayuda en la construcción de software, describe cómo se construye el software y describe sus dependencias. Descarga dinámicamente bibliotecas Java y complementos Maven de uno o más repositorios, como el Repositorio Central Maven 2, y los almacena en una caché local. Utilizamos maven en Selenium como herramienta de construcción o herramienta de gestión de proyectos. Ayuda a administrar todas las dependencias del proyecto y garantiza un proceso de compilación fácil.
Los principales objetivos de Maven son los siguientes:
- Facilitar el proceso de compilación
- Proporcionar un sistema de compilación uniforme
- Proporcionar información de proyectos de calidad
- Proporcionar directrices para el desarrollo de mejores prácticas
- Permitir la migración transparente a nuevas características
Hasta ahora hemos aprendido qué es la Integración Continua y qué es Maven. Si está sentado en su sistema e intenta implementar, comencemos a implementar los 9 Pasos mencionados a continuación.
PASO 1: Abra su IDE de Eclipse para comenzar a construir un proyecto maven
Creación de un Proyecto Maven En Eclipse
Instalación del Proyecto Maven en Eclipse:
PASO 2: Instalación de Maven en Eclipse: Marque este enlace
Así que, ahora tenemos Maven instalado en Eclipse. Ahora vamos a crear el proyecto Maven en Jenkins.
Crear un Proyecto Maven En Jenkins:
PASO 3: Crea un nuevo proyecto Maven en Eclipse-Sigue los pasos a continuación
3.1 Para crear un proyecto, haga clic con el botón derecho en el Explorador de paquetes y navegue por Nuevo – Otro
Asegúrese de que TestNG ya esté instalado. Echa un vistazo a esto para ver «Cómo Instalar Pruebas en Eclipse» y mira este enlace para ver «Tutorial completo de pruebas»
Seleccione Proyecto Maven y haga clic en Siguiente
Seleccione la casilla de verificación ‘Crear un proyecto simple’ y haga clic en SiguienteRellene el Id de grupo, Id de artefacto y haga clic en el botón Finalizar
Estructura del proyecto se ve como se muestra en la imagen de abajo
3.2 Configurar pom.archivo xml, que se creó automáticamente, para incluir otros jars de complementos en el proceso de compilación. Se puede encontrar en la raíz del proyecto Maven como se muestra en la imagen de abajo.
En el proyecto maven, usamos el archivo POM para agregar las dependencias necesarias. Haga doble clic en pom.archivo xml y haga clic en pom.pestaña xml
Agregue la siguiente dependencia maven (Selenium y TestNG) para permitir que maven descargue los jars necesarios para su proyecto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<dependencies>
<!– Selenium –>
<dependency>
<groupId > org.Selenio.el selenio</groupId>
<artifactId>selenio-java</artifactId>
<la versión>2.53.1</versión>
</la dependencia>
<!– TestNG –>
<la dependencia>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<la versión>6.8< / versión>
<alcance> prueba< / alcance>
</dependencia>
</dependencias>
|
3.3 Agregar tarros de prueba a la dependencia habilitará la prueba en su proyecto.
Crear una clase TestNG y generar testng.archivo xml. Revisa el siguiente enlace para hacer este paso.
Cómo crear una clase TestNG y generar testng.archivo xml
Copia el siguiente código y colocarlo en su NewTest clase
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package tests;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class NewTest {
public WebDriver driver;
@Test
public void openMyBlog() {
driver.get(«https://www.softwaretestingmaterial.com/»);
}
@BeforeClass
public void beforeClass() {
Sistema.setProperty («webdriver.Geco.conductor», «D:\\Selenium\\Drivers\\geckodriver.exe»);
driver = new FirefoxDriver();
}
@AfterClass
public void afterClass() {
controlador.dejar de fumar();
}
}
|
testng.xml: testng.el archivo xml se ve a continuación. Cópialo y colócalo en tu prueba.xml
1
2
3
4
5
6
7
8
|
<?xml version=»1.0″ encoding=»UTF-8″?>
<suite name=»Suite» parallel=»false»>
<test name=»Test»>
<classes>
<class name=»tests.NewTest»/>
</classes>
</test> <!– Prueba –>
</suite> <!– Suite –>
|
Para ejecutar el proyecto con testng.xml, haga clic derecho en ‘ testng.archivo xml y vaya a Ejecutar como Suite de pruebas
3.4 Añadiendo ‘maven-compiler-plugin’ y ‘maven-surefire-plugin’ al pom.archivo xml
Para ejecutar el proyecto mediante pom.xml, necesitamos añadir más entradas en el pom.archivo xml. Necesitamos agregar ‘maven-compiler-plugin’y’ maven-surefire-plugin ‘
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<project xmlns=»http://maven.apache.org/POM/4.0.0″ xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» xsi:schemaLocation=»http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd»>
<modelVersion>4.0.0</modelVersion>
<groupId>mavenPackage</groupId>
<artifactId>MavenProject</artifactId>
<la versión>0.0.1-SNAPSHOT</versión>
<las dependencias>
<!– Selenio –>
<la dependencia>
<groupId>org.seleniumhq.el selenio</groupId>
<artifactId>selenio-java</artifactId>
<la versión>2.53.1</versión>
</la dependencia>
<!– TestNG –>
<la dependencia>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<la versión>6.8</versión>
<ámbito de aplicación>prueba</alcance>
</la dependencia>
</las dependencias>
<construir>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compilador-plugin</artifactId>
<la versión>3.6.1</versión>
<configuración>
<fuente>1.8</fuente>
<destino>1.8</destino>
</configuración>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!– <suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile> –>
</suiteXmlFiles>
</configuración>
</plugin>
</plugins>
</construir>
</proyecto>
|
Nota: El proceso de construcción va a construir su proyecto de Maven y ejecutar la base de testng.xml durante una prueba Maven. Una vez que haya configurado Maven y descargado todos los jars correspondientes, haga clic con el botón derecho en el proyecto y vaya a ejecutar – Maven Clean y luego intente instalar & construir. Si puede compilar/limpiar/instalar sus proyectos Maven, entonces ha instalado/configurado correctamente Maven.
Qué es GIT
Git es el sistema de control de versiones moderno más utilizado en el mundo actual para rastrear cambios en cualquier conjunto de archivos. Git es un proyecto de código abierto. Su objetivo es la velocidad, la integridad de los datos y la compatibilidad con flujos de trabajo no lineales distribuidos. Le permite confirmar su trabajo localmente y luego sincronizar su copia del repositorio con la copia en el servidor.
PASO 4: Instalar GIT en Eclipse y Agregar (Cargar) el Proyecto Maven a GitHub
Aquí hay un video tutorial sobre «Cómo Instalar GitHub en Eclipse y Cómo Cargar el Proyecto en GitHub»:
Por favor, sea paciente. El video se cargará en algún momento.
Qué es Jenkins
Jenkins es un servidor de automatización de código abierto. Nos ayuda a automatizar todo tipo de tareas relacionadas con la construcción, implementación y automatización de cualquier proyecto. Es multiplataforma y se puede usar en Windows, Mac OS, Linux, etc., Como parte de Selenium, lo usamos para construir y probar nuestro software continuamente. Se utiliza para ejecuciones de pruebas automáticas y compilaciones programadas. Con Jenkins también podíamos publicar resultados y enviar notificaciones por correo electrónico a todos los miembros del equipo. Jenkins proporciona integración continua y servicio de entrega continua para el desarrollo de software.
Aquí está el enlace oficial a la documentación de Jenkins.
Hasta ahora hemos instalado Maven, creado el Proyecto Maven en Eclipse e instalado GIT en Eclipse y subido el proyecto Maven a GitHub. Además, aprendimos qué es Integración continua, Maven, GIT y Jenkins. Ahora instalaremos Jenkins y lo configuraremos.
Instalación de Jenkins
PASO 5: Instalar Jenkins: Compruebe este enlace
Anteriormente publicamos una publicación sobre la instalación de Jenkins, consulte esta publicación sobre cómo instalar Jenkins
Configurar Jenkins para un proyecto Maven
PASO 6: Configuración de Jenkins para un proyecto Maven: Consulte este enlace
Anteriormente publicamos una publicación sobre configuración de Jenkins para un proyecto maven, consulte esta publicación sobre configuración de Jenkins para un proyecto maven
Hasta ahora hemos instalado y creado el Proyecto Maven en Eclipse, Instalado y cargado el Proyecto Maven en GitHub e instalado y configurado Jenkins para el Proyecto Maven. Ahora configuraremos el plugin GIT en Jenkins.
Configurar el complemento de GIT en Jenkins
PASO 7: Configurar el complemento de GIT en Jenkins: Siga los pasos a continuación
7.1 Vaya a Administrar complementos – > Filtrar lista de complementos disponibles con ‘Complemento de Git’.
Lea más sobre el Complemento de Git
7.2 Compruebe el Complemento de Git y haga clic en el botón ‘Instalar sin reiniciar’
En la siguiente captura de pantalla, puede ver que ya lo he instalado.
7.3 Una vez finalizada la instalación, reinicie Jenkins utilizando el comando del navegador. http://localhost:8080/jenkins/restart
Una vez que Jenkins se reinicie, la opción Git debería estar disponible en Administración de Código Fuente al configurar un trabajo en Jenkins y esto lo veremos en el Paso 8.
7.4 Vaya a Administrar Jenkins – > Configurar sistema, proporcione la ruta correcta al ejecutable de Git
PASO 8: Crear Proyecto Maven en Jenkins y construir un trabajo desde el proyecto Git – Siga los pasos a continuación
Hemos configurado el complemento GIT en Jenkins. Ahora vamos a crear un proyecto Maven y crear un trabajo a partir del proyecto Git
8.1 Haga clic en Nuevos elementos – > Introduzca el nombre del proyecto (digamos GitProject) – > Seleccione Proyecto de Estilo Libre – > Haga clic en Aceptar
Se le redirigirá a la página de configuración. Haga clic en la pestaña Administración de Código Fuente
8.2 En Administración de Código Fuente, Seleccione la opción ‘Git’. (Esto debería estar visible una vez que haya instalado correctamente el complemento Git, lo que hemos hecho en el paso 7.3).
8.3 Proporcione la URL de su Repositorio Git (que hemos capturado en el Paso 4: Vea el video sobre cómo Crear un Repositorio en Git y Copiar la URL del Repositorio Git) y elija sus Credenciales y guarde sus cambios
Jenkins extraerá el código fuente del proyecto del Servidor Git remoto basado en la URL del repositorio que hemos pasado.
8.4 En la compilación, haz clic en el paso Agregar compilación y elige Invocar objetivos Maven de nivel superior y pasar «instalación limpia» como Objetivos. Haga clic en el botón Avanzado y pase el valor POM como ‘ pom.xml’
Nota: En el complemento Git, Establezca el git global user.name y usuario.correo electrónico para que coincida con sus opciones de configuración global
Además, puede pasar acciones posteriores a la compilación para generar informes. Para generar informes HTML de prueba, elija Publicar informes de prueba haciendo clic en Agregar acción posterior a la compilación y pase el valor como ‘ * * /testng-results.xml’
Y, finalmente, haga clic en Guardar.
Aprenda a configurar un proyecto maven simple en Jenkins
La estructura del proyecto de Integración Continua de Jenkins en Eclipse se ve como se muestra a continuación:
Ejecución del Proyecto Maven Desde Jenkins
PASO 9: Ejecución del Proyecto Maven Desde Jenkins: Siga los pasos a continuación
Ejecutémoslo ahora.
9.1 Haga clic en el enlace ‘Construir ahora’. Invocará el pom.XML.
9.2 Haga clic con el botón derecho en el Número de compilación (aquí en mi caso es el #1) y haga clic en la salida de la consola para ver el resultado.
Se puede ver el Estado de compilación «Éxito» en la salida de la Consola.
Además, puede programar trabajos de Jenkins y enviar una notificación por correo electrónico después de ejecutar la compilación.
Para programar el trabajo de Jenkins:
Abra sus disparadores de trabajo de Jenkins-Configurar-Compilar-Seleccione la casilla de verificación Compilar periódicamente e ingrese su patrón de trabajo Cron
Por ejemplo: Para ejecutar su trabajo cada minuto, debe ingresar * * * * *
Jenkins trabaja en Cron pattern. Obtenga más información sobre el enlace Cron job pattern – wiki
Para enviar notificaciones por correo electrónico:
Vaya a Administrar Jenkins-Configurar-Seleccionar Notificación por correo electrónico-Establecer configuración SMTP.
Recibirá una notificación por correo electrónico cada vez que la compilación se apruebe o falle.
Conclusión:
La integración continua de Selenium con Jenkins nos permite ejecutar nuestros scripts en cada implementación. Jenkins nos permite guardar el historial de ejecución y los informes. Espero que este post te haya ayudado a lograr tus objetivos. Espero que haya implementado con éxito la Integración Continua de Selenium. Por favor, no dude en acercarse si tiene alguna pregunta.
Aquí hay algunos artículos seleccionados a mano para que los lea a continuación:
- Cómo Ejecutar Scripts De Selenium Usando BrowserStack
- Herramienta De Prueba De Navegador Cruzado De Aprendizaje
- Guía Completa – Herramienta De Automatización de Interfaz Gráfica de Usuario – Froglogic Squish
- Más Popular – Preguntas De Entrevista De Selenium
- Preguntas De Entrevista De Prueba
- Por Qué Elige Las Pruebas De Software Como Carrera