Tutoriel d'intégration de Maven et Jenkins avec Selenium

Qu’est-ce que Jenkins dans le sélénium ?

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 les environnements Windows, Linux, Mac OS et Solaris. 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.
  • Email l'intégration: Jenkins peut être configuré pour email le contenu du statut de la build.
  • Paramétrage facile : Configurer diverses tâches sur Jenkins est simple.
  • Test TestNG : 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 le details de jar, version de jar et mappage des numéros de build et de jar.
  • 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 ?

  • L'exécution de tests Selenium dans Jenkins vous permet 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 Essais 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é. L'intégration de Maven avec Selenium fournit le suiviwing Flare
Apache Maven prend en charge 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 pour configurer le projet Selenium WebDriver. De plus, nous devons ajouter m2eclipse brancher Eclipse pour faciliter le processus de construction et créer le fichier pom.xml.
Ajoutons m2eclipse brancher Eclipse avec suiviwing étapes:

Étape 1) In Eclipse IDE, sélectionnez Aide | Installer un nouveau logiciel du 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é ci-dessouswing capture d'écran:

Installez Maven et utilisez-le avec TestNG Selenium

Étape 3) Cliquez sur Suivant bouton et terminer 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 Déposez le | Nouveauté | Autres du Eclipse menu.

Étape 2) Sur le Nouveauté 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 suiviwing structure:

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 dialogue box, assure-toi 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 du 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éez une nouvelle classe TestNG. Entrez le nom du package comme « exemple » et « NewTest » dans le champ Nom, Prénom: textebox et cliquez sur le Finition bouton comme indiqué dans la suitewing capture d'écran:

Installez Maven et utilisez-le avec TestNG Selenium

Étape 10). Eclipse créera la classe NewTest comme indiqué dans ce qui suitwing capture d'écran:

Installez Maven et utilisez-le avec TestNG Selenium

Étape 11) Ajoutez le suiviwing coder vers le NouveauTest classe:

Ce code vérifiera le titre de la page 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("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 suitewing capture d'écran:

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 le test TestNG et générer des rapports de test.

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 le suivantwing extrait de code, vers pom.xml dans le 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 WebDriver

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 WebDriver

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

Intégration de Jenkins avec Selenium WebDriver

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

Intégration de Jenkins avec Selenium WebDriver

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

Intégration de Jenkins avec Selenium WebDriver

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

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

Intégration de Jenkins avec Selenium WebDriver

Étape 7) Sélectionnez le bouton radio du projet Maven comme indiqué ci-dessous.wing capture d'écran:

Intégration de Jenkins avec Selenium WebDriver

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 WebDriver

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

Intégration de Jenkins avec Selenium WebDriver

Cliquez sur Installations JDK et configurez JDK comme indiqué ci-dessous.wing capture d'écran:

Intégration de Jenkins avec Selenium WebDrive

Étape 10) Allez à Développer section du nouvel emploi.

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

Étape 11) Cliquez sur Appliquer .

Intégration de Jenkins avec Selenium WebDriver

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

Intégration de Jenkins avec Selenium WebDriver

Maven construira le projet. Il demandera ensuite à TestNG d'exécuter les cas de test.

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

Étape 14) La page du projet WebdriverTest affiche l'historique de construction et des liens vers les résultats, comme indiqué ci-dessous.wing capture d'écran:

Intégration de Jenkins avec Selenium WebDriver

Étape 15) Cliquez sur le lien « Dernier résultat du test » pour afficher les résultats du test comme indiqué ci-dessous.wing capture d'écran:

Intégration de Jenkins avec Selenium WebDriver

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

Planification de Jenkins pour une exécution automatique.

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

Par exemple :
Entrez 0 23 * * * dans le texte du programmebox comme indiqué dans la suitewing capture d'écran. 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 suitwing en construction

D:>java -cp « Pathtolibfolder\lib\*;Pathtobinfolder\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 à l'aide de TestNG.
  • Le résultat sera stocké dans un fichier HTML de rapport personnalisé qui peut être envoyé par e-mail.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.