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.

  • 📦 Rôle de Maven : Maven 3.x gère les dépendances, le cycle de vie de la construction et les plugins via pom.xml, supprimant ainsi la gestion manuelle des fichiers JAR. Selenium projets.
  • (I.e. Jenkins Rôle: Jenkins Programmes LTS Selenium Il s'agit d'une suite logicielle qui surveille les modifications apportées au système de gestion de configuration (SCM) et déclenche des exécutions de tests de régression automatisées à chaque commit ou tâche cron nocturne.
  • 🚀 L'énergie des pipelines : En combinant Maven, Jenkins, Selenium et TestNG forme une boucle CI/CD complète qui détecte les défauts en quelques minutes après toute modification du code.
  • Reporting: Rapports Surefire plus Jenkins construire l'histoire donner tracRésultats de tests exploitables et partageables avec sortie console et tableaux de bord HTML.
  • 🧪 Amélioration de l'IA : Les plugins d'IA modernes priorisent les tests impactés, prédisent les cas instables et réduisent Jenkins cycles de rétroaction à l'intérieur Selenium canalisations.

Maven & Jenkins Intégration avec Selenium

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 :

Installez Maven et utilisez-le avec TestNG Selenium

É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.

Installez Maven et utilisez-le avec TestNG Selenium

Étape 3) Sur le Nouveau projet Maven boîte de dialogue sélectionner Créer un projet simple et cliquez sur Suivant.

Installez Maven et utilisez-le avec TestNG Selenium

Étape 4) Entrez WebdriverTest dans Identifiant du groupe: et ID d'artefact: et cliquez sur Terminer.

Installez Maven et utilisez-le avec TestNG Selenium

Étape 5) Eclipse créera Test du pilote Web avec la structure suivante :

Installez Maven et utilisez-le avec TestNG Seleniuml

Étape 6) Faites un clic droit sur Bibliothèque système JRE et sélectionnez le Propriétés option dans le menu.

Installez Maven et utilisez-le avec TestNG Selenium

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.

Installez Maven et utilisez-le avec TestNG Selenium

Étape 7) Sélectionner pom.xml à partir de Explorateur de projets.

Installez Maven et utilisez-le avec TestNG Selenium

Le fichier pom.xml s'ouvrira dans la section Éditeur.

Installez Maven et utilisez-le avec TestNG Selenium

É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 :

Installez Maven et utilisez-le avec TestNG Selenium

Étape 10) Eclipse créera la classe NewTest comme indiqué dans la capture d'écran suivante :

Installez Maven et utilisez-le avec TestNG Selenium

É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:

Installez Maven et utilisez-le avec TestNG Selenium

Mettez à jour le projet et assurez-vous que le fichier apparaît dans l'arborescence. Explorateur de packages (clic droit sur le projet – Actualiser).

Installez Maven et utilisez-le avec TestNG Selenium

É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.

Installez Maven et utilisez-le avec TestNG Selenium

Assurez-vous que la construction se termine avec succès.

Étape 14) De plus, nous devons ajouter

  1. plug-in-compilateur-maven
  2. plugin maven-surefire
  3. 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:

Installez Maven et utilisez-le avec TestNG Selenium

É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.

Installez Maven et utilisez-le avec TestNG Selenium

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.

L'intégration de Jenkins Avec Selenium pilote web

Étape 2) Ouvrir Jenkins dans un dossier spécifié. Exécutez le fichier exe comme indiqué dans la capture d'écran suivante :

L'intégration de Jenkins Avec Selenium pilote web

Étape 3) Dans l' Jenkins installation fenêtre, cliquez sur le Suivant .

L'intégration de Jenkins Avec Selenium pilote web

Étape 4) Cliquez sur le Installer bouton à la fin.

L'intégration de Jenkins Avec Selenium pilote web

É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.

L'intégration de Jenkins Avec Selenium pilote web

Étape 6) Cliquez sur le Nouvel article lien pour créer un travail CI.

L'intégration de Jenkins Avec Selenium pilote web

Étape 7) Sélectionnez le bouton radio du projet Maven comme indiqué dans la capture d'écran suivante :

L'intégration de Jenkins Avec Selenium pilote web

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.

L'intégration de Jenkins Avec Selenium pilote web

Étape 9) Allez dans Gérer Jenkins => Configurer le système comme indiqué dans la capture d'écran suivante.

L'intégration de Jenkins Avec Selenium pilote web

Cliquez sur Installations JDK et configurez JDK comme dans la capture d'écran suivante :

L'intégration de Jenkins Avec Selenium WebDrive

É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 ».

L'intégration de Jenkins Avec Selenium pilote web

Étape 11) Cliquez sur le Appliquer .

L'intégration de Jenkins Avec Selenium pilote web

Étape 12) Sur la page du projet WebdriverTest, cliquez sur le Construisez maintenant lien.

L'intégration de Jenkins Avec Selenium pilote web

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 .

L'intégration de Jenkins Avec Selenium 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 :

L'intégration de Jenkins Avec Selenium pilote web

É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 :

L'intégration de Jenkins Avec Selenium pilote web

Étape 16) Sélectionnez une version spécifique, et vous verrez l'état actuel en cliquant sur «sortie console" .

L'intégration de Jenkins Avec Selenium pilote web

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.

Jenkins pour l'exécution automatique

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

Jenkins pour l'exécution automatique

  • 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 :

Jenkins pour l'exécution automatique

Avantages de l'utilisation Jenkins

  1. Détection précoce des problèmes – les bogues peuvent être détectés dès les premières phases du développement logiciel.
  2. Intégration automatique – aucun effort supplémentaire n'est requis pour intégrer toutes les modifications.
  3. Programme d'installation – un système déployable disponible à tout stade du développement.
  4. Archives – les archives des versions précédentes sont conservées.
  5. 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.

FAQ

Maven gère les dépendances et le cycle de vie de la construction. Selenium pilote le navigateur, et Jenkins orchestre l'exécution. Ensemble, ils forment un pipeline CI complet qui compile le code, télécharge les JAR nécessaires et exécute Selenium Il effectue des tests et publie automatiquement des rapports à chaque commit.

Utilisez Maven 3.x pour la gestion des dépendances et des builds, et Jenkins Versions LTS pour une intégration continue stable. Ces versions offrent un support à long terme, des correctifs de sécurité et une large compatibilité avec les plugins. Selenium WebDriver, TestNGet les plugins de reporting Surefire.

Oui. Jenkins utilise une syntaxe de type cron dans la section Déclencheurs de génération pour planifier Selenium suites. Par exemple, 0 23 * * * lance la suite tous les soirs à 11h. Jenkins peut également déclencher des builds lors d'interrogations SCM ou d'événements webhook.

Alimenté par l'IA Jenkins Les plugins prédisent les tests instables, optimisent automatiquement les agents de compilation et détectent les anomalies dans les journaux de la console. Ils réduisent le bruit du pipeline, accélèrent le retour d'information et suggèrent une parallélisation optimale, ce qui permet de maintenir Selenium Des suites fiables même lorsque le nombre de tests atteint des milliers.

Oui. L'analyse d'impact des tests basée sur l'IA associe les modifications de code aux éléments affectés. Selenium scénarios et exécute uniquement le sous-ensemble pertinent dans JenkinsCela raccourcit les cycles de retour d'information, réduit les coûts d'infrastructure et préserve une couverture complète en programmant une régression complète sur les versions nocturnes.

Résumez cet article avec :