Intégration continue du Sélénium avec Jenkins [Selenium-Maven-Git-Jenkins] – Guide Étape par Étape

Intégration continue du Sélénium avec Jenkins à l’aide de GIT

Dans cet article, j’essaie de conserver un guide complet de l’Intégration continue du Sélénium (Intégration de bout en bout) avec Jenkins. Ceci est un guide pour implémenter l’intégration continue avec Jenkins, Maven et TestNG avec GitHub. Il existe de nombreux outils et techniques qui peuvent être intégrés dans un environnement d’IC. Ici, j’utilise Selenium WebDriver, Java, TestNG, Maven et je les intègre à Jenkins. Pour mettre en œuvre l’intégration continue, suivez les 9 étapes que j’ai mentionnées ci-dessous.

  • 1. Qu’est-ce que l’intégration continue
  • 2. Qu’est-ce que Maven
  • 3. Construire Un Projet Maven Dans Eclipse
  • 4. Qu’est-ce que GIT
  • 5. Qu’est-ce que Jenkins
  • 6. Installation de Jenkins
  • 7. Configuration de Jenkins pour un projet Maven
  • 8. Configurez le plugin GIT dans Jenkins
  • 9. Exécution du projet Maven À partir de Jenkins

Qu’est-ce que l’intégration continue

L’intégration continue est abrégée en CI. L’intégration continue est une pratique de développement qui vise à s’assurer de l’exactitude d’un logiciel. Après chaque validation, une suite de tests s’exécute automatiquement et teste un logiciel pour s’assurer que le logiciel fonctionne sans interruption. Si un test échoue, nous obtiendrons des commentaires immédiats indiquant que « la construction est cassée ».

En termes simples, l’intégration continue est un processus de vérification de l’exactitude d’un logiciel.

 Intégration continue

Certains des outils d’intégration continue sont Jenkins, TeamCity, Bamboo, Travis, CircleCI, Bitbucket, CruiseControl

Qu’est-ce que Maven

Maven, un mot yiddish signifiant « accumulateur de connaissances ». Maven est un outil d’automatisation de construction utilisé principalement pour les projets Java. Il aide à la construction de logiciels, il décrit comment le logiciel est construit et décrit ses dépendances. Il télécharge dynamiquement les bibliothèques Java et les plug-ins Maven à partir d’un ou plusieurs référentiels tels que le référentiel central Maven 2 et les stocke dans un cache local. Nous utilisons maven dans Selenium comme outil de construction ou de gestion de projet. Il aide à gérer toutes les dépendances du projet et assure un processus de construction facile.

Les principaux objectifs de Maven sont les suivants:

  • Faciliter le processus de construction
  • Fournir un système de construction uniforme
  • Fournir des informations de projet de qualité
  • Fournir des lignes directrices pour le développement de meilleures pratiques
  • Permettre une migration transparente vers de nouvelles fonctionnalités

Jusqu’à présent, nous avons appris ce qu’est l’intégration continue et ce qu’est Maven. Si vous êtes assis sur votre système et que vous essayez de l’implémenter, commençons par implémenter les 9 étapes mentionnées ci-dessous.

 Intégration Continue De Selenium Avec Jenkins

ÉTAPE 1: Ouvrez votre EDI Eclipse pour commencer à créer un projet maven

Création D’Un Projet Maven Dans Eclipse

Installation du Projet Maven dans Eclipse:

ÉTAPE 2: Installation de Maven dans Eclipse: Vérifiez ce lien

Donc, maintenant nous avons Maven installé dans Eclipse. Créons maintenant le projet Maven dans Jenkins.

Création Du Projet Maven Dans Jenkins:

ÉTAPE 3: Créez un nouveau projet Maven dans Eclipse – Suivez les étapes ci-dessous

3.1 Pour créer un projet – Faites un clic droit sur l’Explorateur de paquets et naviguez dans New-Other

Assurez-vous que TestNG est déjà installé. Vérifiez ceci pour voir « Comment installer TestNG Dans Eclipse » et vérifiez ce lien pour « Tutoriel complet de TestNG »

 Installer Maven

Sélectionnez Projet Maven et cliquez sur Suivant  Installer Maven

Cochez la case « Créer un projet simple » et cliquez sur Suivant  Créer un projet Maven Remplissez l’Id de groupe, l’Id d’Artefact et cliquez sur le bouton Terminer

 Créer un projet Maven Structure du projet ressemble comme indiqué dans l’image ci-dessous

 Créer un projet Maven

3.2 Configurez pom.fichier xml, qui a été créé automatiquement, pour inclure d’autres pots de plug-in au processus de construction. Il peut être trouvé à la racine du projet Maven comme indiqué dans l’image ci-dessous.

Dans le projet maven, nous utilisons le fichier POM pour ajouter les dépendances requises. Double-cliquez sur pom.fichier xml et cliquez sur pom.onglet xml

 Créer un projet Maven

Ajoutez la dépendance maven ci-dessous (Selenium et TestNG) pour permettre à maven de télécharger les fichiers jar nécessaires à votre projet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<dependencies>
<!– Selenium –>
<dependency>
<groupId > Org.Sélénium.sélénium < / groupId>
< Artifactide > sélénium-java < / Artifactide>
< version > 2.53.1 < / version>
</ dépendance>
<!– Test –>
< dépendance>
< groupId > org.testng < / Identifiant de groupe>
< Artifactide > testng < / Artifactide>
< version > 6.8 < / version>
< portée > test < / portée>
</ dépendance>
</ dépendances>

 Créer un projet Maven

3.3 L’ajout de fichiers jar TestNG à la dépendance activera TestNG dans votre projet.

Créez une classe TestNG et générez testng.fichier xml. Vérifiez le lien ci-dessous pour effectuer cette étape.

Comment créer une classe TestNG et générer testng.fichier xml

 Créer un projet Maven

Copiez le code ci-dessous et placez-le dans votre classe NewTest

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() {
Système.setProperty(« webdriver.Gecko.conducteur », »D:\\Selenium\\Drivers\\geckodriver .exe »);
pilote = nouveau pilote FirefoxDriver();
}
@ AfterClass
public void afterClass() {
pilote.quitter();
}
}

testng.xml: testng.le fichier xml ressemble à ci-dessous. Copiez et placez-le dans votre testng.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> <!– Test –>
</ suite > <!– Suite –>

Pour exécuter le projet en utilisant testng.xml, faites un clic droit sur ‘testng.xml ‘ file et allez exécuter As-TestNG Suite

3.4 En ajoutant ‘maven-compiler-plugin’ et ‘maven-surefire-plugin’ au pom.fichier xml

Pour exécuter le projet à l’aide de pom.xml, nous devons ajouter quelques entrées supplémentaires dans le pom.fichier xml. Nous devons ajouter ‘maven-compiler-plugin’ et ‘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 < / Version de modèle>
< Code de groupe > Paquet Maven < / Code de groupe>
< artifactId > MavenProject < / artifactId>
< version > 0.0.1 – INSTANTANÉ < / version>
< dépendances>
<!– Sélénium –>
< dépendance>
< groupId > org.séléniumq.sélénium < / groupId>
< Artifactide > sélénium-java < / Artifactide>
< version > 2.53.1 < / version>
</ dépendance>
<!– Test –>
< dépendance>
< groupId > org.testng < / Identifiant de groupe>
< Artifactide > testng < / Artifactide>
< version > 6.8 < / version>
< portée > test < / portée>
</ dépendance>
</ dépendances>
< construire>
< greffons>
< greffon>
< groupId > org.Apache.maven.modules externes < / Identifiant de groupe>
< artifactId > plugin-compilateur-maven < / artifactId>
< version > 3.6.1 < / version>
< configuration>
< source > 1,8 < / source>
< cible > 1,8 < / cible>
</ configuration>
</ greffon>
< greffon>
< 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 < / Fichier SUITEXML> –>
</ suiteXmlFiles>
</ configuration>
</ greffon>
</ greffons>
</ construire>
</ projet>

Remarque: Le processus de génération construira votre projet Maven et exécutera le test de base.xml lors d’un test Maven. Une fois que vous avez configuré Maven et téléchargé tous les fichiers jar correspondants, faites un clic droit sur le projet et allez dans run–Maven Clean, puis essayez install & build. Si vous êtes en mesure de créer / nettoyer / installer vos projets Maven, vous avez correctement installé / configuré Maven.

Qu’est-ce que GIT

Git est le système de contrôle de version moderne le plus utilisé au monde aujourd’hui pour suivre les modifications dans n’importe quel ensemble de fichiers. Git est un projet open source. Il vise la vitesse, l’intégrité des données et la prise en charge des flux de travail distribués et non linéaires. Il vous permet de valider votre travail localement, puis de synchroniser votre copie du référentiel avec la copie sur le serveur.

ÉTAPE 4: Installez GIT dans Eclipse et Ajoutez (Téléchargez) le projet Maven à GitHub

Voici un tutoriel vidéo sur « Comment Installer GitHub dans Eclipse et Comment Télécharger un Projet sur GitHub »:

Soyez patient. La vidéo se chargera dans un certain temps.

Qu’est-ce que Jenkins

Jenkins est un serveur d’automatisation open source. Il nous aide à automatiser toutes sortes de tâches liées à la construction, au déploiement et à l’automatisation de tout projet. Il est multiplateforme et peut être utilisé sous Windows, Mac OS, Linux, etc., Dans le cadre de Selenium, nous l’utilisons pour construire et tester notre logiciel en continu. Il est utilisé pour les exécutions de tests automatiques et les builds planifiés. En utilisant Jenkins, nous pourrions également publier les résultats et envoyer des notifications par e-mail à tous les membres de l’équipe. Jenkins fournit un service d’intégration et de livraison continue pour le développement de logiciels.

Voici le lien officiel vers la documentation Jenkins.

Jusqu’à présent, nous avons installé Maven, créé le projet Maven dans Eclipse et installé GIT dans Eclipse et téléchargé le projet Maven sur GitHub. Nous avons également appris ce qu’est l’intégration continue, Maven, GIT et Jenkins. Maintenant, nous allons installer Jenkins et le configurer.

Installation de Jenkins

ÉTAPE 5: Installez Jenkins – Vérifiez ce lien

Plus tôt, nous avons publié un article sur l’installation de Jenkins, voir cet article sur la façon d’installer Jenkins

Configuration de Jenkins pour un projet Maven

ÉTAPE 6: Configuration de Jenkins pour un projet Maven – Vérifiez ce lien

Plus tôt, nous avons publié un article sur la configuration de Jenkins pour un projet Maven, voir cet article sur la configuration de Jenkins pour un projet maven

Jusqu’à présent, nous avons installé et créé le projet Maven dans Eclipse, Installé et téléchargé le projet Maven sur GitHub et installé et configuré Jenkins pour le projet Maven. Maintenant, nous allons configurer le plugin GIT dans Jenkins.

Configurer le plugin GIT dans Jenkins

ÉTAPE 7: Configuration du plugin GIT dans Jenkins – Suivez les étapes ci-dessous

7.1 Allez Dans Gérer les plugins – > Filtrer la liste des plugins disponibles avec ‘Git Plugin’.

En savoir plus sur le plugin Git

7.2 Vérifiez le plugin Git et cliquez sur le bouton « Installer sans redémarrer »

Dans la capture d’écran ci-dessous, vous pouvez voir que je l’ai déjà installé.

7.3 Une fois l’installation terminée, redémarrez Jenkins à l’aide de la commande dans le navigateur. http://localhost:8080/jenkins/restart

Une fois Jenkins redémarré, l’option Git devrait être disponible sous Gestion du code source lors de la configuration d’une tâche dans Jenkins et nous le verrons à l’étape 8.

7.4 Allez dans Gérer Jenkins – > Configurer le système, veuillez fournir le bon chemin vers l’exécutable Git

ÉTAPE 8: Créez un projet Maven dans Jenkins et créez un travail à partir du projet Git – Suivez les étapes ci-dessous

Nous avons configuré le plugin GIT dans Jenkins. Créons maintenant un projet Maven et construisons un travail à partir du projet Git

8.1 Cliquez sur Nouveaux éléments – > Entrez le Nom du projet (disons GitProject) – > Sélectionnez le projet Freestyle – > Cliquez sur OK

Vous serez redirigé vers la page de configuration. Cliquez sur l’onglet Gestion du Code Source

8.2 Dans Gestion du Code Source, Sélectionnez l’option ‘Git’. (Cela devrait être visible une fois que vous avez installé avec succès le plugin Git – Ce que nous avons fait à l’étape 7.3).

8.3 Donnez l’URL de votre Dépôt Git (que nous avons capturée à l’étape 4 – Regardez la vidéo sur la création d’un dépôt dans Git et Copiez l’URL du Dépôt Git) et choisissez vos informations d’identification et enregistrez vos modifications

Jenkins extraira le code source du projet du serveur Git distant en fonction de l’URL du dépôt que nous avons transmise.

8.4 Dans la construction – cliquez sur l’étape Ajouter une construction et choisissez Invoquer des cibles Maven de niveau supérieur et passer « Installation propre » comme objectifs. Cliquez sur le bouton Avancé et passez la valeur POM comme ‘pom.xml’

Remarque : Sous le plug-in Git, Définissez le git global user.name et utilisateur.e-mail pour correspondre à vos options de configuration globales

Vous pouvez également passer des actions Post-génération pour générer des rapports. Pour générer des rapports HTML de TestNG, choisissez Publier des rapports de TestNG en cliquant sur Ajouter une action post-build et transmettez la valeur en tant que ‘**/testng-results.xml ‘

Et enfin, cliquez sur Enregistrer.

Apprenez à configurer un projet maven simple dans Jenkins

La structure du projet d’intégration continue Jenkins dans Eclipse ressemble à celle indiquée ci-dessous:

Exécution Du Projet Maven À Partir De Jenkins

ÉTAPE 9: Exécution Du projet Maven À Partir De Jenkins – Suivez les étapes ci-dessous

Exécutons-le maintenant.

9.1 Cliquez sur le lien « Construire maintenant ». Il invoquera le pom.XML.

9.2 Faites un clic droit sur le numéro de build (ici, dans mon cas, c’est #1) et cliquez sur Sortie de la console pour voir le résultat.

Vous pouvez voir le statut de génération « Succès » sur la sortie de la console.

En outre, vous pouvez planifier des travaux Jenkins et envoyer une notification par e-mail après l’exécution de la génération.

Pour planifier le travail Jenkins :

Ouvrez vos déclencheurs job–Configure–Build Jenkins – Cochez la case Build periodically et entrez votre modèle de travail Cron

Par exemple : Pour exécuter votre travail toutes les minutes, vous devez entrer * * * * *

Jenkins travaille sur le motif Cron. En savoir plus sur le modèle de travail Cron – lien wiki

Pour envoyer une notification par e–mail :

Accédez à Gérer Jenkins – Configurer – Sélectionnez Notification par e-mail – Définir la configuration SMTP.

Vous recevrez une notification par e-mail chaque fois que la génération passe ou échoue.

Conclusion :

L’intégration continue de Selenium avec Jenkins nous permet d’exécuter nos scripts à chaque déploiement. Jenkins nous permet d’enregistrer l’historique d’exécution et les rapports. J’espère que ce post vous a aidé à atteindre vos objectifs. J’espère que vous avez réussi à implémenter l’intégration continue de Selenium. N’hésitez pas à nous approcher si vous avez des questions.

Voici quelques articles triés sur le volet à lire ensuite:

  • Comment Exécuter Des Scripts Sélénium À L’Aide De BrowserStack
  • Apprendre L’Outil De Test Multi–Navigateurs
  • Guide Complet – Outil D’Automatisation De L’Interface Graphique – Froglogic Squish
  • Les Plus Populaires – Questions D’Entrevue Sur Le Sélénium
  • Questions D’Entrevue Sur Le Test
  • Pourquoi Choisir Le Test Logiciel Comme Carrière
  • Questions D’Entrevue Générales

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Previous post Comment transférer des fichiers Entre Linux et Windows via LAN
Next post Point un* Des Dons du Saint-Esprit en commun, et en particulier