Intégration Maven et Jenkins avec Selenium Tutoriel

Dans quoi est Jenkins Selenium?

Jenkins est le principal outil d'intégration continue open source développé par le laboratoire Hudson. Il est multiplateforme et peut être utilisé sur Windows, Linux, Mac OS et Solaris environnements. Jenkins est écrit en Java. L'utilisation principale de Jenkin est de surveiller n'importe quelle tâche qui peut être une extraction SVN, un cron ou tout autre état d'application. Il déclenche des actions préconfigurées lorsqu'une étape particulière 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 les référentiels comme SVN.
  • Liens permanents : Jenkins fournit des liens directs vers la dernière version ou la version ayant échoué qui peuvent être utilisés pour faciliter la communication
  • Installation: Jenkins est facile à installer à l'aide d'un fichier d'installation directe (exe) ou d'un fichier war à déployer à l'aide du serveur d'applications.
  • Intégration de messagerie: Jenkins peut être configuré pour envoyer par courrier électronique le contenu de l'état de la build.
  • Paramétrage facile : Configurer diverses tâches sur Jenkins est simple.
  • TestNG tester: Jenkins peut être configuré pour exécuter le test d'automatisation sur Tester après chaque build de SVN.
  • Plusieurs VM : Jenkins peut être configuré pour distribuer la build sur plusieurs machines.
  • Construction du projet : Jenkins documente les détails du pot, la version du pot et le mappage des numéros de build et du pot.
  • Plugins: 3rd Le plugin party peut être configuré dans Jenkins pour utiliser des fonctionnalités et des fonctionnalités supplémentaires.

Pourquoi Jenkins et Selenium?

  • Fonctionnement Selenium les tests dans Jenkins vous permettent d'exécuter vos tests à chaque fois que votre logiciel change et de déployer le logiciel dans un nouvel environnement lorsque les tests réussissent.
  • Jenkins peut planifier l'exécution de vos tests à une heure précise.
  • Vous pouvez enregistrer l'historique d'exécution et les rapports de test.
  • Jenkins prend en charge Maven pour la construction et Contrôle de qualité un projet en intégration continue.

Qu'est-ce que Maven dans Selenium?

Maven est un puissant outil de gestion de projet/build, basé sur le concept d'un POM (Project Object Model) qui inclut des informations de projet et des informations de configuration pour Maven telles que le répertoire de construction, le répertoire source, la dépendance, le répertoire source de test, les objectifs, les plugins, etc. .

Pourquoi Maven et Jenkins

Selenium WebDriver est idéal pour l'automatisation du navigateur. Mais lorsqu’on l’utilise pour tester et créer un cadre de test, il semble sous-alimenté. 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.
  • À l'aide de pom.xml(Maven), vous pouvez configurer les dépendances nécessaires à la création de tests et à l'exécution de code.
  • Maven télécharge automatiquement les fichiers nécessaires depuis le référentiel 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 Développeurs à mettre en place Selenium Projet WebDriver. De plus, nous devons ajouter le plugin m2eclipse à Eclipse pour faciliter le processus de construction 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 Eclipse Menu principal.

Étape 2) Dans la boîte de dialogue Installer, entrez l'URL https://www.eclipse.org/m2e/. Sélectionner Travailler avec et le plugin m2e comme indiqué dans la capture d'écran suivante :

Installez Maven et utilisez-le avec TestNG Selenium

Étape 3) Cliquez sur Suivant bouton et terminer l’installation.

Configurez 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 Déposez votre dernière attestation | New | Autre Eclipse menu.

Étape 2) Sur le New 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électionnez le 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 est sélectionné et cliquez sur OK

Installez Maven et utilisez-le avec TestNG Selenium

Étape 7). Sélectionner pom.xml 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, Junite 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. Entrez le nom du package comme « exemple » et « NewTest » dans le champ 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 Guru99 Selenium Page

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();			
		}		
}	

Étape 12) Faites un clic droit sur WebdriverTest et sélectionnez TestNG | Convertir en TestNG.
Eclipse créera testng.xml qui indique que vous ne devez exécuter qu'un seul test avec le 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 ce 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) Maintenant, vous devez exécuter un test via ceci testng.xml.

Alors, allez à la Exécuter les configurations et créer un nouveau lancement TestNG, sélectionnez le projet et le champ Suite as testng.xml et cliquez sur Exécuter

Installez Maven et utilisez-le avec TestNG Selenium

Assurez-vous que la construction s'est terminée avec succès.

Étape 14). De plus, nous devons ajouter

  1. plug-in-compilateur-maven
  2. plugin maven-surefire
  3. testng.xml

vers pom.xml.

Le plugin maven-surefire est utilisé pour configurer et exécuter des tests. Ici, le plugin est utilisé pour configurer le testing.xml pour TestNG tester et générer des rapports de tests.

Le plugin maven-compiler-plugin est utilisé pour aider à compiler le code et à utiliser la version particulière du JDK pour la compilation. Ajoutez toutes les dépendances dans l'extrait de code suivant à pom.xml dans le fichier nœud:

Installez Maven et utilisez-le avec TestNG Selenium

Étape 15) Pour exécuter lee tests dans le cycle de vie Maven, cliquez avec le bouton droit sur WebdriverTest et sélectionnez Courir comme | Test Maven. Maven exécutera les tests du projet.

Installez Maven et utilisez-le avec TestNG Selenium

Assurez-vous que la construction s'est terminée avec succès.

Comment intégrer Jenkins avec Selenium pilote web

Voici les étapes pour installer Jenkins et le configurer pour exécuter Maven avec TestNg Selenium

Installation

Étape 1) Cliquez sur http://jenkins-ci.org/ et téléchargez le package correct pour votre système d’exploitation. Installez Jenkins.

Intégration de Jenkins avec Selenium pilote web

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

Intégration de Jenkins avec Selenium pilote web

Étape 3) In Configuration de Jenkins 1.607 fenêtre cliquez sur Suivant .

Intégration de Jenkins avec Selenium pilote web

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

Intégration de Jenkins avec Selenium pilote web

Étape 5) Une fois l'installation terminée, accédez au tableau de bord Jenkins (http://localhost:8080 par défaut) dans la fenêtre du navigateur.

Intégration de Jenkins avec Selenium pilote web

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

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 :

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. Un nouveau travail nommé « WebdriverTest » est créé dans le tableau de bord Jenkins.

Intégration de Jenkins avec Selenium pilote web

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

Intégration de Jenkins avec Selenium pilote web

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

Intégration de Jenkins avec Selenium WebDrive

Étape 10) Allez à Silhouette section du nouvel emploi.

  • Dans le POM racine zone de texte, entrez le chemin complet vers pom.xml
  • Dans la section Objectifs et options, saisissez « test propre »
  • Intégration de Jenkins avec Selenium pilote web

Étape 11) Cliquez sur Appliquer .

Intégration de Jenkins avec Selenium pilote web

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

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 tableau de bord Jenkins, cliquez sur le bouton Test du pilote Web Projet

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 :

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 :

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

Intégration de Jenkins avec Selenium pilote web

Planification de Jenkins pour une exécution automatique.

Planification des builds (Selenium Tests) est l'une des fonctionnalités importantes de Jenkins où il déclenche automatiquement la construction, en fonction de critères définis. Jenkins propose plusieurs façons de déclencher le processus de construction sous la configuration Build Trigger.

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

Utiliser Jenkings sans Maven

Pour exécuter un script TestNg pur dans Jenkins, entrez ce qui suit dans build

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 réel des dossiers lib et bin doit être ajouté à la commande ci-dessus.
  • Après avoir enregistré la commande, Jenkins construira le projet dans un délai prédéfini et cette commande sera exécutée en utilisant TestNG.
  • Le résultat sera stocké dans un fichier HTML de rapport personnalisé qui peut être envoyé par e-mail avec une configuration Jenkin
  • La sortie du code sera

Jenkins pour l'exécution automatique

Avantages de l'utilisation de Jenkins

  1. Détection précoce des problèmes – Un bug peut être détecté dès la phase précoce du développement du logiciel
  2. Intégration automatique – aucun effort séparé n'est requis pour intégrer toutes les modifications
  3. Installateur – un système déployable disponible à tout moment du développement
  4. Enregistrements – enregistrements de fabrication de pièces conservés
  5. Support et plugins : L'une des raisons de la popularité de Jenkin est la disponibilité d'un large support communautaire. En outre, de nombreux plugins prêts à l'emploi sont disponibles pour vous aider à étendre ses fonctionnalités.