Selenium Intégration avec Maven et Jenkins
⚡ Résumé intelligent
Maven Jenkins Selenium L'intégration crée un pipeline de tests continus automatisé où Maven gère les dépendances et le cycle de vie du projet. Jenkins planification et déclenchement des constructions, et Selenium Exécute des tests de navigateur, produisant une automatisation web de bout en bout reproductible, fiable et évolutive.

Qu'est-ce que le Jenkins in Selenium?
Jenkins est le principal outil d'intégration continue open source, initialement développé par le laboratoire Hudson. Il est multiplateforme et fonctionne sur Windows, Linux, macOS et Solaris environnements. Jenkins est écrit en Java et est maintenant distribué sous la forme Jenkins LTS est conçu pour une utilisation stable en production. Son principal usage est la surveillance de toute tâche, qu'il s'agisse d'une extraction SCM, d'une planification cron ou de l'état de toute application. Jenkins déclenche des actions préconfigurées lorsqu'une étape spécifique se produit dans les tâches.
Caractéristiques importantes de Jenkins
- Prise en charge du changement : Jenkins Génère la liste de toutes les modifications effectuées dans des référentiels tels que Git ou SVN.
- Liens permanents : Jenkins Il fournit des liens directs vers la dernière version ou la dernière version ayant échoué, ce qui simplifie la communication au sein de l'équipe.
- Installation: Jenkins Il est facile à installer à l'aide d'un programme d'installation natif, d'un fichier WAR déployé sur un serveur d'applications ou d'une image Docker.
- Intégration des e-mails : Jenkins peut être configuré pour envoyer par courriel le contenu et l'état de chaque compilation.
- Paramétrage facile : Configuration de diverses tâches sur Jenkins c'est simple via le tableau de bord web.
- TestNG Tester: Jenkins peut être configuré pour exécuter la compilation des tests d'automatisation sur TestNG après chaque validation dans le dépôt.
- Plusieurs VM : Jenkins peut distribuer les builds sur plusieurs machines agents.
- Construction du projet : Jenkins documente les détails des fichiers JAR, des versions de JAR et la carteping des numéros de build aux artefacts.
- Plugins: 3rd Des plugins de fête peuvent être ajoutés dans Jenkins pour étendre les fonctionnalités et ajouter des caractéristiques.
Pourquoi Jenkins et Selenium?
- Fonctionnement Selenium tests en Jenkins vous permet d'exécuter vos tests à chaque modification du logiciel et de déployer le logiciel dans un nouvel environnement une fois les tests réussis.
- Jenkins vous pouvez programmer votre Selenium tests à exécuter à un moment précis.
- Vous pouvez enregistrer l'historique d'exécution et les rapports de test pour traccapacité.
- Jenkins prend en charge Maven pour la construction et Tests un projet en intégration continue.
Qu'est-ce que Maven dans Selenium?
Maven est un outil puissant de gestion de projets et de compilation basé sur le concept de POM (Project Object Model). Ce modèle contient les informations et les données de configuration du projet, telles que le répertoire de compilation, le répertoire source, les dépendances, le répertoire source des tests, les objectifs, les plugins, etc. Maven 3.x est la version stable actuelle, largement utilisée. Selenium cadres de test.
Pourquoi Maven et Jenkins
Selenium WebDriver est excellent pour l'automatisation des navigateurs. Cependant, lorsqu'il s'agit de tests et de création d'un framework de test, il peut sembler insuffisant. L'intégration de Maven avec Selenium offre les avantages suivants.
Apache Maven fournit un support pour la gestion du cycle de vie complet d’un projet de test.
- Maven est utilisé pour définir la structure du projet, les dépendances, la gestion des builds et des tests.
- Le fichier pom.xml (Maven) permet de configurer les dépendances nécessaires à la construction, au test et à l'exécution du code.
- Maven télécharge automatiquement les fichiers nécessaires depuis le dépôt central lors de la construction du projet.
Comment installer Maven et l'utiliser avec TestNG Selenium
Voici les étapes pour installer Maven et l'utiliser avec TestNG Selenium.
Pour ce tutoriel, nous utiliserons Eclipse (Juno) IDE pour Java Les développeurs doivent mettre en place le Selenium Projet WebDriver. De plus, nous devons ajouter le plugin m2eclipse à Eclipse pour faciliter le processus de compilation et créer le fichier pom.xml.
Ajoutons le plugin m2eclipse à Eclipse avec les étapes suivantes:
Étape 1) In Eclipse IDE, sélectionnez Aide | Installer un nouveau logiciel du Eclipse menu principal.
Étape 2) Dans la boîte de dialogue d'installation, saisissez le URL https://www.eclipse.org/m2e/. Sélectionner le Travailler avec et le plugin m2e, comme le montre la capture d'écran suivante :
Étape 3) Cliquez sur le Suivant Cliquez sur le bouton et terminez l'installation.
Configurer Eclipse avec Maven
Une fois le plugin m2e installé, nous devons maintenant créer un projet Maven.
Étape 1) In Eclipse IDE, créez un nouveau projet en sélectionnant Fichier | NOUVEAU | Autres du Eclipse menu.
Étape 2) Sur le NOUVEAU dialogue, sélectionnez Maven | Projet Maven et cliquez sur Suivant.
Étape 3) Sur le Nouveau projet Maven boîte de dialogue sélectionner Créer un projet simple et cliquez sur Suivant.
Étape 4) Entrez WebdriverTest dans Identifiant du groupe: et ID d'artefact: et cliquez sur Terminer.
Étape 5) Eclipse créera Test du pilote Web avec la structure suivante :
Étape 6) Faites un clic droit sur Bibliothèque système JRE et sélectionnez le Propriétés option dans le menu.
Sur le Propriétés de la bibliothèque système JRE boîte de dialogue, assurez-vous JRE par défaut de l'espace de travail sélectionnez l'option et cliquez sur OK.
Étape 7) Sélectionner pom.xml à partir de Explorateur de projets.
Le fichier pom.xml s'ouvrira dans la section Éditeur.
Étape 8) Ajoutez le Selenium, Maven, TestNG et JUnit dépendances à pom.xml dans le nœud:
<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>
Étape 9) Créer un nouveau TestNG Classe. Saisissez le nom du package comme « example » et « NewTest » dans le Nom: zone de texte et cliquez sur le Finition comme indiqué dans la capture d'écran suivante :
Étape 10) Eclipse créera la classe NewTest comme indiqué dans la capture d'écran suivante :
Étape 11) Ajoutez le code suivant au NouveauTest classe. Ce code vérifiera le titre de la classe. Guru99 Selenium .
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("https://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();
}
}
Étape 12) Cliquez avec le bouton droit sur le projet WebdriverTest et sélectionnez TestNG | Convertir en TestNG.
Eclipse créera un fichier testng.xml indiquant que vous ne devez exécuter qu'un seul test portant ce nom. NouveauTest comme indiqué dans la capture d'écran suivante:
Mettez à jour le projet et assurez-vous que le fichier apparaît dans l'arborescence. Explorateur de packages (clic droit sur le projet – Actualiser).
Étape 13) Vous devez maintenant exécuter le test via ceci testng.xml.
Alors, allez à la Exécuter les configurations et créer un nouveau lancement TestNG, sélectionnez le projet, définissez le champ Suite as testng.xml, puis cliquez sur Exécuter.
Assurez-vous que la construction se termine avec succès.
Étape 14) De plus, nous devons ajouter
- plug-in-compilateur-maven
- plugin maven-surefire
- testng.xml
dans pom.xml.
Le plugin maven-surefire est utilisé pour configurer et exécuter les tests. Ici, il sert à configurer le fichier testing.xml pour les tests. TestNG tester et générer des rapports de tests.
Le plugin maven-compiler-plugin permet de compiler le code et d'utiliser une version spécifique du JDK. Ajoutez toutes les dépendances de l'extrait de code suivant au fichier pom.xml. nœud:
Étape 15) Pour exécuter les tests dans le cycle de vie Maven, cliquez avec le bouton droit sur le projet WebdriverTest et sélectionnez Courir comme | Test MavenMaven exécutera le test du projet.
Assurez-vous que la construction se termine avec succès.
Comment intégrer Jenkins au Selenium pilote web
Voici les étapes d'installation Jenkins LTS et configurez-le pour exécuter Maven avec TestNG Selenium.
Installation
Étape 1) Allez dans https://www.jenkins.io/download/ et télécharger le fichier correct Jenkins Package LTS pour votre système d'exploitation. Installer Jenkins.
Étape 2) Ouvrir Jenkins dans un dossier spécifié. Exécutez le fichier exe comme indiqué dans la capture d'écran suivante :
Étape 3) Dans l' Jenkins installation fenêtre, cliquez sur le Suivant .
Étape 4) Cliquez sur le Installer bouton à la fin.
Étape 5) Une fois l'installation terminée, accédez à Jenkins Tableau de bord (http://localhost:8080 par défaut) dans la fenêtre du navigateur.
Étape 6) Cliquez sur le Nouvel article lien pour créer un travail CI.
Étape 7) Sélectionnez le bouton radio du projet Maven comme indiqué dans la capture d'écran suivante :
Utilisation de la fonction Construire un Projet Maven option, Jenkins prend en charge la création et le test de projets Maven.
Étape 8) Cliquez sur le bouton OK. Une nouvelle tâche nommée « WebdriverTest » est créée. Jenkins Tableau de bord.
Étape 9) Allez dans Gérer Jenkins => Configurer le système comme indiqué dans la capture d'écran suivante.
Cliquez sur Installations JDK et configurez JDK comme dans la capture d'écran suivante :
Étape 10) Rendez-vous dans la section Se construisent une partie du nouvel emploi.
- Dans l' POM racine Dans le champ de texte, saisissez le chemin complet vers le fichier pom.xml.
- Dans la section Objectifs et options, saisissez « test propre ».
Étape 11) Cliquez sur le Appliquer .
Étape 12) Sur la page du projet WebdriverTest, cliquez sur le Construisez maintenant lien.
Maven construira le projet. Il aura alors TestNG exécuter les cas de tests.
Étape 13) Une fois le processus de construction terminé, dans le Jenkins Tableau de bord, cliquez sur Test du pilote Web .
Étape 14) La page du projet WebdriverTest affiche l'historique de construction et des liens vers les résultats, comme indiqué dans la capture d'écran suivante :
Étape 15) Cliquez sur le lien « Dernier résultat du test » pour afficher les résultats du test, comme indiqué dans la capture d'écran suivante :
Étape 16) Sélectionnez une version spécifique, et vous verrez l'état actuel en cliquant sur «sortie console" .
Planification Jenkins pour l'exécution automatique
Planification des builds (Selenium les tests) est l'une des caractéristiques importantes de Jenkins, où il déclenche automatiquement la compilation en fonction de critères définis. Jenkins offre plusieurs façons de déclencher le processus de compilation dans la configuration du déclencheur de compilation.
Par exemple :
Entrez 0 23 * * * dans la zone de texte Planifier, comme indiqué dans la capture d'écran suivante. Cela déclenchera le processus de construction tous les jours à 11 heures.
L'utilisation de Jenkins sans Maven
Pour exécuter un pur TestNG script dans Jenkins, saisissez ce qui suit dans la console :
D:>java -cp “Chemin vers le dossier lib\lib\*;Chemin vers le dossier bin\bin” org.testng.TestNG testng.xml
- Cliquez sur le bouton Enregistrer.
- Remarque : Le chemin d'accès réel aux dossiers lib et bin doit être ajouté à la commande ci-dessus.
- Après avoir enregistré la commande, Jenkins le projet sera compilé à l'heure prédéfinie, et cette commande sera exécutée à l'aide de TestNG.
- Le résultat sera enregistré dans un fichier de rapport HTML personnalisé qui pourra être envoyé par e-mail à l'aide d'un Jenkins configuration.
- Le résultat du code sera :
Avantages de l'utilisation Jenkins
- Détection précoce des problèmes – les bogues peuvent être détectés dès les premières phases du développement logiciel.
- Intégration automatique – aucun effort supplémentaire n'est requis pour intégrer toutes les modifications.
- Programme d'installation – un système déployable disponible à tout stade du développement.
- Archives – les archives des versions précédentes sont conservées.
- Assistance et plugins – une des raisons de JenkinsSa popularité tient à l'important soutien de sa communauté. De nombreux plugins prêts à l'emploi sont également disponibles pour étendre ses fonctionnalités.




































