integration jenkins with selenium webdriver
Guide étape par étape pour installer et configurer Jenkins avec Selenium:
Notre précédent tutoriel de la série DevOps a expliqué Rôles Ansible et intégration avec Jenkins dans DevOps .
Jenkins est un outil open source écrit en Java. Il offre livraison continue et service d'intégration continue pour le développement de logiciels. Il automatise votre tâche manuelle du processus de déploiement de code à partir de la boîte de développement - QA - Stage - Production.
Lecture suggérée => Série de didacticiels de formation DevOps précis
Jenkins prend en charge de nombreux plugins que vous pouvez intégrer tels que Git, SVN, build pipeline et bien d'autres.
La fonctionnalité de base de Jenkins est d'exécuter une liste prédéfinie d'étapes en fonction du temps et de certains événements.
Par exemple, lorsque vous souhaitez baser l'exécution sur le temps, vous pouvez exécuter une tâche toutes les 20 minutes ou si vous souhaitez la baser sur un événement, vous pouvez le faire après une nouvelle validation dans un référentiel Git.
Dans cet article, nous avons couvert les points ci-dessous:
- Utilisation et intégration de Jenkins avec le sélénium
- Créer un fichier batch et l'utiliser Jenkins
- Planification du travail Jenkins et notification par e-mail ajoutée
- Et exécuter le script sélénium à partir de la ligne de commande
Les avantages de l'utilisation de Jenkins sont:
- Il s'agit d'un multiplateforme et peut être utilisé sur les environnements Windows, Linux, Mac OS et Solaris
- C'est un outil gratuit et open source
- Largement utilisé et bien documenté
- Intégration avec une grande variété d'outils et de technologies
En dehors de Jenkins, nous avons beaucoup plus d'outils sur le marché tels que:
- Fourmilière
- Bambou
- Régulateur de vitesse
- Team City et bien d'autres.
Ce que vous apprendrez:
- Utilisation et intégration de Jenkins avec le sélénium
- Créer un fichier batch et l'utiliser dans Jenkins
- Planification du travail Jenkins
- Comment ajouter des notifications par e-mail
- Exécution du script Selenium via la ligne de commande
- Conclusion
- lecture recommandée
Utilisation et intégration de Jenkins avec le sélénium
Suivez la procédure étape par étape ci-dessous pour utiliser Jenkins avec Selenium
Étape 1:
Téléchargez Jenkins depuis le site officiel de Jenkins - Jenkins . Téléchargez le dernier fichier .war. Jenkins peut être démarré via la ligne de commande ou peut être exécuté sur un serveur d'applications Web.
Reportez-vous aux étapes ci-dessous pour l'exécution via la ligne de commande:
1) Ouvrez l'invite de commande et tapez java –jar et entrez le chemin d'un fichier .war
(Remarque:Cliquez sur n'importe quelle image pour une vue agrandie)
deux) Appuyez sur Entrée et vérifiez si votre fichier Jenkins.war a commencé à s'exécuter et vérifiez les informations d'état sur la console d'invite de commande.
Cela devrait montrer - Jenkins est pleinement opérationnel
3) Vérifiez maintenant si votre Jenkins est prêt à être utilisé; par défaut, il utilise le port 8080.
Taper ' http: // localhost: 8080 ”Dans le navigateur et appuyez sur Entrée. Il vous montrera l'interface utilisateur Jenkins.
Il chargera le tableau de bord Jenkins vide par défaut. J'ai créé un travail Jenkins dans la capture d'écran ci-dessus à titre d'exemple et, par conséquent, il ne s'est pas chargé à vide.
Étape 2:
Pour utiliser Selenium avec Jenkins, vous devez configurer Jenkins avec Selenium.
Suivez les étapes ci-dessous:
- Accéder au tableau de bord Jenkins
- Cliquez sur gérer Jenkins
- Cliquez sur configurer Jenkins
- Cliquez sur JDK installation - Dans la section JDK name entrez le nom, sous la section Java Home - donnez votre chemin java
Le bouton radio, Installer automatiquement est coché par défaut. Vous devez le décocher car il sera automatiquement mis à jour avec la nouvelle version Java et il se peut que Selenium ne prenne pas en charge la nouvelle version Java. Il vaut mieux la décocher. Cliquez maintenant sur appliquer et enregistrer.
Votre Jenkins est configuré avec Selenium et est maintenant prêt à être utilisé avec Selenium. Le code Jenkins et Selenium est écrit en Java. Par conséquent, si vous indiquez le chemin Java, il communiquera et traitera votre travail en interne.
Étape 3:
Maintenant, créez un script Selenium et un fichier XML TestNG. Ce fichier XML TestNG sera nécessaire pour créer un fichier batch et nous utiliserons ce fichier batch dans Jenkins. Reportez-vous ci-dessous au code TestNG:
Reportez-vous ci-dessous au code TestNG:
package session_2; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; public class jenkins_demo { @Test publicvoidtestgooglrsearch(){ WebDriver driver = newFirefoxDriver(); //it will open the goggle page driver.get('http://google.in'); //we expect the title “Google “ should be present String Expectedtitle = 'Google'; //it will fetch the actual title String Actualtitle = driver.getTitle(); System.out.println('Before Assetion ' + Expectedtitle + Actualtitle); //it will compare actual title and expected title Assert.assertEquals(Actualtitle, Expectedtitle); //print out the result System.out.println('After Assertion ' + Expectedtitle + Actualtitle + ' Title matched '); } }
Production : Avant l'assertion GoogleGoogle
Après l'assertion, le titre GoogleGoogle correspondait
RÉUSSI: testgooglrsearch
Créez un fichier xml TestNG, reportez-vous au code ci-dessous:
Étape 4:
Accédez au répertoire racine de votre projet et créez un dossier de bibliothèque.
Reportez-vous à la capture d'écran ci-dessous:
Maintenant, ajoutez tous vos fichiers jar nécessaires à l'exécution de votre script Selenium:
convertisseur en ligne gratuit youtube en mp4
Étape # 5:
Créer un fichier batch et l'utiliser dans Jenkins
Créez un fichier de commandes en suivant les étapes ci-dessous:
1) Ouvrez le bloc-notes et tapez-: Java –cp bin; lib / * org.testng.TestNG testng.xml
En faisant cela, Java –cp compilera et exécutera un fichier .class qui se trouve dans un m répertoire et tout notre fichier jar exécutable se trouve à lib répertoire et nous utilisons un framework TestNG alors spécifiez org.testng.TestNG. Spécifiez également le nom de xml fichier qui déclenchera le script TestNG attendu.
deux) Enregistrez le fichier avec l'extension .bat et vérifiez le type de fichier. Il devrait s'agir d'un «fichier de commandes Windows». Pour vérifier si le fichier de commandes est créé correctement, double-cliquez sur le fichier de commandes et il exécutera le code. Reportez-vous au code ci-dessous du fichier de commandes:
Étape # 6:
Ensuite, nous devons ajouter un fichier batch dans Jenkins.
Pour ajouter le fichier de commandes, suivez les étapes ci-dessous:
1) Accédez au tableau de bord Jenkins, créez un nouveau job dans Jenkins
deux) Cliquez sur un nouvel élément et entrez le nom de l'élément et cochez le bouton radio du projet freestyle
3) Cliquez sur Options avancées
4) Cliquez sur utiliser l'espace de travail personnalisé et indiquez le chemin de l'espace de travail de votre projet de script Selenium: ' E: Automation_workspace Demo-testNG '
5) Ensuite, allez dans Construire et sélectionnez une option dans la liste déroulante, exécutez votre build via la commande batch Windows
6) Et indiquez ici le nom de votre fichier de commandes - ' run.bat '
7) Cliquez sur appliquer et enregistrer
8) Cliquez sur la construction maintenant et voyez le résultat de la construction sur la sortie de la console
Jusqu'à présent, nous avons appris:
- Comment démarrer Jenkins
- Comment configurer Jenkins avec Selenium
- Créer votre fichier batch et l'exécuter via Jenkins.
Comme vous le savez tous, Jenkins est un outil très puissant qui est principalement utilisé pour exécuter des builds nocturnes. Par conséquent, nous allons maintenant apprendre à planifier votre build et à envoyer des notifications par e-mail à l'équipe concernée.
Planification du travail Jenkins
Pour planifier votre fichier de commandes, procédez comme suit:
- Accédez au tableau de bord et cliquez sur le job Jenkins
- Cliquez sur configurer puis sur l'option avancée
- Ensuite aller à Créer des déclencheurs et sélectionnez Construire périodiquement option et entrez votre modèle de tâche cron
- Pour comprendre le modèle de travail cron, suivez ceci lien wiki
J'ai entré * * * * * ce qui signifie qu'il exécutera mon travail toutes les minutes
- Cliquez sur appliquer et enregistrer
Il n'y a pas d'intervention manuelle. Après avoir planifié le script, il s'exécutera à l'heure prévue.
Comment ajouter des notifications par e-mail
Ensuite, nous expliquerons comment ajouter des notifications par e-mail.
Reportez-vous aux étapes ci-dessous:
- Accédez à la section 'Gérer Jenkins'
- Cliquez sur configurer le système
- Sélectionnez Notification par e-mail
- Donnez l'adresse de votre serveur SMTP. J'utilise Gmail, car je ne peux pas mentionner l'adresse officielle de mon serveur. Pour connaître l'adresse officielle de votre serveur, contactez votre équipe d'assistance réseau
- J'ai entré le nom du serveur SMTP = smtp.gmail.com
- Cliquez sur le lien avancé et cochez la case Utiliser l'authentification SMTP
- Fournissez le nom d'utilisateur, le mot de passe et le numéro de port SMTP; c'est 465 pour Gmail. Vérifiez le jeu de caractères et assurez-vous qu'il est = UTF-8
- Vérifiez vos paramètres de configuration de messagerie en cliquant sur le bouton Tester la configuration.
- Ainsi, chaque fois que la construction réussit ou échoue, vous recevrez une notification par e-mail.
Exécution du script Selenium via la ligne de commande
Nous allons maintenant voir comment exécuter le script Selenium via l'invite de commande . Cette partie n'a rien à voir avec Jenkins. Je partage ceci pour donner des informations supplémentaires sur Selenium.
Suivez les étapes ci-dessous:
- Ouvrez votre invite de commande et accédez au chemin de base de votre projet
- Définissez le chemin de classe pour votre fichier de script; ce qui signifie que nous spécifions que nos fichiers binaires et de bibliothèque sont stockés à cet emplacement
E: Automation_workspace Demo-testNG> set classpath = E: Automation_workspace Demo-testNG bin; E: Automation_workspace Demo-testNG lib *;
- Exécutez votre fichier testng.xml en tapant la commande - java org.testng.TestNG testng.xml
- Lorsque vous appuyez sur Entrée, votre script commence à s'exécuter et vous pouvez voir le résultat du test dans l'interface utilisateur
Parfois, lors de l'exécution de votre script, vous pouvez rencontrer une erreur qui dit: 'Impossible de trouver ou de charger la classe principale org.testng.TestNG'
Ensuite, vous devez fermer votre invite de commande et définir à nouveau votre chemin de classe comme mentionné ci-dessus et répétez les mêmes étapes. Votre erreur sera résolue et le script s'exécutera.
Conclusion
L'intégration de Jenkins avec le sélénium vous permet d'exécuter votre script chaque fois qu'il y a un changement dans le code logiciel et de déployer le code dans un nouvel environnement. Avec Jenkins, vous pouvez enregistrer l'historique d'exécution et les rapports de test.
En bref, Jenkins est très utile lorsque vous avez des cas de test prêts et que vous souhaitez qu'ils s'exécutent en un seul clic. Nous pouvons créer ou planifier une construction pour exécuter les cas de test à l'aide d'un fichier de commandes.
Lectures complémentaires => Intégrez Selenium au projet Maven
Remarque: Ce didacticiel fait partie de Selenium ainsi que de la série de didacticiels DevOps. Cliquez sur le lien ci-dessous pour accéder aux didacticiels précédents et suivants de la série DevOps.
Tutoriel PREV | Tutoriel SUIVANT
N'hésitez pas à poster vos questions dans la section commentaires ci-dessous .
lecture recommandée
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Intégration de Selenium avec JMeter
- Déploiement dans MongoDB: didacticiel pas à pas
- Tutoriels Eclipse détaillés pour les débutants
- Implémentation de notre premier script WebDriver - Tutoriel Selenium WebDriver # 10
- Exemple de bout en bout Specflow et Selenium Webdriver
- Comment utiliser Firebug pour créer des scripts Selenium - Tutoriel Selenium # 4