integration jenkins with selenium webdriver
Schritt-für-Schritt-Anleitung zum Einrichten und Konfigurieren von Jenkins mit Selen:
In unserem vorherigen Tutorial in der DevOps-Reihe wurde dies erläutert Ansible Rollen und Integration mit Jenkins in DevOps .
Jenkins ist ein in Java geschriebenes Open Source-Tool. Es bietet kontinuierliche Lieferung und kontinuierlicher Integrationsservice für die Softwareentwicklung. Es automatisiert Ihre manuelle Aufgabe des Code-Bereitstellungsprozesses von der Entwicklungsbox - QA - Phase - Produktion.
Empfohlene Lektüre => Präzise DevOps-Schulungsserie
Jenkins unterstützt viele Plugins, die Sie integrieren können, wie Git, SVN, Build-Pipeline und vieles mehr.
Die Grundfunktionalität von Jenkins besteht darin, eine vordefinierte Liste von Schritten auf der Grundlage der Zeit und einiger Ereignisse auszuführen.
Zum Beispiel, Wenn Sie die Ausführung pünktlich ausführen möchten, können Sie einen Job alle 20 Minuten ausführen. Wenn Sie ihn auf einem Ereignis basieren möchten, können Sie dies nach einem neuen Commit in einem Git-Repository tun.
In diesem Artikel haben wir die folgenden Punkte behandelt:
- Jenkins Verwendung und Integration mit Selen
- Erstellen einer Batch-Datei und Verwenden dieser Jenkins
- Planen des Jenkins-Jobs und Hinzufügen einer E-Mail-Benachrichtigung
- Und Selenium-Skript über die Befehlszeile ausführen
Die Verwendung von Jenkins bietet folgende Vorteile:
- Es ist plattformübergreifend und kann in Windows-, Linux-, Mac OS- und Solaris-Umgebungen verwendet werden
- Es ist ein kostenloses und Open Source Tool
- Weit verbreitet und gut dokumentiert
- Integration mit einer Vielzahl von Tools und Technologien
Abgesehen von Jenkins haben wir viele weitere Tools auf dem Markt, wie zum Beispiel:
- Ameisenhaufen
- Bambus
- Tempomat
- Team City und viele mehr.
Was du lernen wirst:
- Jenkins Verwendung und Integration mit Selen
- Erstellen einer Batchdatei und Verwenden dieser in Jenkins
- Jenkins-Job planen
- So fügen Sie E-Mail-Benachrichtigungen hinzu
- Ausführen des Selenium-Skripts über die Befehlszeile
- Fazit
- Literatur-Empfehlungen
Jenkins Verwendung und Integration mit Selen
Befolgen Sie die nachstehenden Schritte, um Jenkins mit Selen zu verwenden
Schritt 1::
Laden Sie Jenkins von der offiziellen Website von Jenkins herunter - Jenkins . Laden Sie die neueste .war-Datei herunter. Jenkins kann über die Befehlszeile gestartet oder auf einem Webanwendungsserver ausgeführt werden.
Befolgen Sie die folgenden Schritte für die Ausführung über die Befehlszeile:
1) Öffnen Sie die Eingabeaufforderung und geben Sie ein Java-Jar und geben Sie den Pfad einer .war-Datei ein
((Hinweis:Klicken Sie auf ein Bild, um es zu vergrößern.)
zwei) Drücken Sie die Eingabetaste und überprüfen Sie, ob Ihre Jenkins.war-Datei gestartet wurde, und überprüfen Sie die Statusinformationen auf der Eingabeaufforderungskonsole.
Es sollte zeigen - Jenkins ist voll funktionsfähig
3) Überprüfen Sie nun, ob Ihr Jenkins einsatzbereit ist. Standardmäßig wird Port 8080 verwendet.
Art ' http: // localhost: 8080 ”Im Browser und drücken Sie die Eingabetaste. Es zeigt Ihnen Jenkins Benutzeroberfläche.
Das Jenkins-Dashboard wird standardmäßig leer geladen. Ich habe im obigen Screenshot als Beispiel einen Jenkins-Job erstellt, der daher nicht leer geladen wurde.
Schritt 2::
Um Selen mit Jenkins zu verwenden, müssen Sie Jenkins mit Selen konfigurieren.
Befolgen Sie die folgenden Schritte:
- Gehe zum Jenkins-Dashboard
- Klicken Sie auf Jenkins verwalten
- Klicken Sie auf Jenkins konfigurieren
- Klicken Sie auf JDK-Installation - Geben Sie im Abschnitt JDK-Name den Namen unter Java Home ein - geben Sie Ihren Java-Pfad an
Das Optionsfeld, Automatisch installieren ist standardmäßig aktiviert. Sie müssen das Kontrollkästchen deaktivieren, da es automatisch mit der neuen Java-Version aktualisiert wird und möglicherweise Selenium die neue Java-Version nicht unterstützt. Es ist besser, es zu deaktivieren. Klicken Sie nun auf Übernehmen und speichern.
Ihr Jenkins ist mit Selen konfiguriert und kann jetzt mit Selen verwendet werden. Sowohl Jenkins- als auch Selenium-Code sind in Java geschrieben. Wenn Sie also den Java-Pfad angeben, kommuniziert und verarbeitet er intern Ihren Job.
Schritt 3::
Erstellen Sie nun ein Selenium-Skript und eine TestNG-XML-Datei. Diese TestNG-XML-Datei wird zum Erstellen einer Batchdatei benötigt, und wir verwenden diese Batchdatei in Jenkins. Siehe unten TestNG-Code:
Siehe unten TestNG-Code:
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 '); } }
Ausgabe : Vor der Behauptung GoogleGoogle
Nach der Bestätigung stimmte GoogleGoogle Title überein
PASSED: testgooglrsearch
Erstellen Sie eine TestNG-XML-Datei, siehe folgenden Code:
Schritt 4::
Wechseln Sie in Ihr Projektstammverzeichnis und erstellen Sie einen Bibliotheksordner.
Siehe den Screenshot unten:
Fügen Sie nun alle Ihre JAR-Dateien hinzu, die zum Ausführen Ihres Selenium-Skripts erforderlich sind:
wie man ein sicheres Netzwerk aufbaut
Schritt 5::
Erstellen einer Batchdatei und Verwenden dieser in Jenkins
Erstellen Sie eine Batchdatei, indem Sie die folgenden Schritte ausführen:
1) Öffnen Sie den Notizblock und geben Sie Folgendes ein: Java –cp bin; lib / * org.testng.TestNG testng.xml
Auf diese Weise Java –cp kompiliert und führt eine .class-Datei aus, die sich unter befindet bin Verzeichnis und alle unsere ausführbaren JAR-Dateien befindet sich unter lib Verzeichnis und wir verwenden ein TestNG-Framework, also geben Sie an org.testng.TestNG. Geben Sie außerdem die an Name von XML Datei, die das erwartete TestNG-Skript auslöst.
zwei) Speichern Sie die Datei mit der Erweiterung .bat und überprüfen Sie den Dateityp. Es sollte 'Windows Batch-Datei' sein. Um zu überprüfen, ob die Batchdatei ordnungsgemäß erstellt wurde, doppelklicken Sie auf die Batchdatei, um den Code auszuführen. Beachten Sie den folgenden Code der Batch-Datei:
Schritt 6:
Als nächstes müssen wir eine Batch-Datei in Jenkins hinzufügen.
Führen Sie die folgenden Schritte aus, um die Batchdatei hinzuzufügen:
1) Gehen Sie zum Jenkins-Dashboard und erstellen Sie einen neuen Job in Jenkins
zwei) Klicken Sie auf ein neues Element, geben Sie den Elementnamen ein und aktivieren Sie das Optionsfeld Freestyle-Projekt
3) Klicken Sie auf Erweiterte Optionen
4) Klicken Sie auf Benutzerdefinierten Arbeitsbereich verwenden und geben Sie den Arbeitsbereich Ihres Selenium-Skriptprojektprojekts an: „ E: Automation_workspace Demo-testNG ''
5) Gehen Sie dann zu Erstellen und wählen Sie eine Option aus dem Dropdown-Feld aus. Führen Sie Ihren Build über den Windows-Batch-Befehl aus
6) Und geben Sie hier Ihren Batch-Dateinamen an - “ run.bat ''
7) Klicken Sie auf Übernehmen und speichern
8) Klicken Sie jetzt auf den Build und sehen Sie das Build-Ergebnis in der Konsolenausgabe
Bisher haben wir gelernt:
- So starten Sie Jenkins
- So konfigurieren Sie Jenkins mit Selen
- Erstellen Sie Ihre Batch-Datei und führen Sie sie über Jenkins aus.
Wie Sie alle wissen, ist Jenkins ein sehr leistungsfähiges Tool, das hauptsächlich zum Ausführen nächtlicher Builds verwendet wird. Daher lernen wir jetzt, wie Sie Ihren Build planen und E-Mail-Benachrichtigungen an das betreffende Team senden.
Jenkins-Job planen
Führen Sie die folgenden Schritte aus, um Ihre Batchdatei zu planen:
- Gehen Sie zum Dashboard und klicken Sie auf den Jenkins-Job
- Klicken Sie auf Konfigurieren und dann auf die erweiterte Option
- Dann geh zu Trigger erstellen und auswählen Bauen Sie regelmäßig Option und geben Sie Ihr Cron-Job-Muster ein
- Befolgen Sie diese Anweisungen, um das Cron-Jobmuster zu verstehen Wiki-Link
Ich habe * * * * * eingegeben, was bedeutet, dass mein Job jede Minute ausgeführt wird
- Klicken Sie auf Übernehmen und speichern
Es erfolgt kein manueller Eingriff. Nach dem Planen des Skripts wird es zur geplanten Zeit ausgeführt.
So fügen Sie E-Mail-Benachrichtigungen hinzu
Als Nächstes wird erläutert, wie Sie E-Mail-Benachrichtigungen hinzufügen.
Befolgen Sie die folgenden Schritte:
- Gehen Sie zum Abschnitt 'Jenkins verwalten'.
- Klicken Sie auf System konfigurieren
- Wählen Sie E-Mail-Benachrichtigung
- Geben Sie Ihre SMTP-Serveradresse an. Ich verwende Google Mail, da ich meine offizielle Serveradresse nicht angeben kann. Wenden Sie sich an Ihr Netzwerk-Support-Team, um Ihre offizielle Serveradresse zu erfahren
- Ich habe den SMTP-Servernamen = eingegeben smtp.gmail.com
- Klicken Sie auf den erweiterten Link und aktivieren Sie das Kontrollkästchen SMTP-Authentifizierung verwenden
- Geben Sie Benutzername, Passwort und SMTP-Portnummer an. Es ist 465 für Google Mail. Überprüfen Sie den Zeichensatz und stellen Sie sicher, dass er = UTF-8 ist
- Überprüfen Sie Ihre E-Mail-Konfigurationseinstellungen, indem Sie auf die Schaltfläche Konfiguration testen klicken.
- Wenn der Build erfolgreich ist oder fehlschlägt, erhalten Sie eine E-Mail-Benachrichtigung.
Ausführen des Selenium-Skripts über die Befehlszeile
Wir werden jetzt sehen Wie können wir das Selenium-Skript über die Eingabeaufforderung ausführen? . Dieser Teil hat nichts mit Jenkins zu tun. Ich teile dies, um zusätzliche Einblicke in Selen zu geben.
Befolgen Sie die folgenden Schritte:
- Öffnen Sie Ihre Eingabeaufforderung und wechseln Sie zu Ihrem Projektbasispfad
- Legen Sie den Klassenpfad für Ihre Skriptdatei fest. Dies bedeutet, dass wir angeben, dass unsere Binär- und Bibliotheksdateien an diesem Speicherort gespeichert sind
E: Automation_workspace Demo-testNG> set classpath = E: Automation_workspace Demo-testNG bin; E: Automation_workspace Demo-testNG lib *;
- Führen Sie Ihre Datei testng.xml aus, indem Sie den folgenden Befehl eingeben: java org.testng.TestNG testng.xml
- Wenn Sie die Eingabetaste drücken, wird Ihr Skript ausgeführt und Sie können das Testergebnis in der Benutzeroberfläche sehen
Manchmal tritt beim Ausführen Ihres Skripts ein Fehler auf, der besagt: 'Die Hauptklasse org.testng.TestNG konnte nicht gefunden oder geladen werden.'
Dann müssen Sie Ihre Eingabeaufforderung schließen und Ihren Klassenpfad erneut wie oben beschrieben festlegen und die gleichen Schritte wiederholen. Ihr Fehler wird behoben und das Skript wird ausgeführt.
Fazit
Durch die Integration von Jenkins in Selen können Sie Ihr Skript jedes Mal ausführen, wenn sich der Softwarecode ändert, und den Code in einer neuen Umgebung bereitstellen. Mit Jenkins können Sie den Ausführungsverlauf und Testberichte speichern.
Kurz gesagt, Jenkins ist sehr nützlich, wenn Sie Testfälle bereit haben und diese mit einem einzigen Klick ausführen möchten. Wir können einen Build erstellen oder planen, um die Testfälle mithilfe einer Batchdatei auszuführen.
Weiterführende Literatur => Integrieren Sie Selen in das Maven-Projekt
Hinweis: Dieses Tutorial ist Teil der Selenium- und DevOps-Tutorialserie. Klicken Sie auf den folgenden Link, um vorherige und nächste Tutorials aus der DevOps-Reihe anzuzeigen.
PREV Tutorial | NÄCHSTES Tutorial
Fühlen Sie sich frei, Ihre Fragen in den Kommentaren unten zu posten .
Literatur-Empfehlungen
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- Integration von Selen mit JMeter
- Bereitstellung in MongoDB: Schritt-für-Schritt-Anleitung
- Ausführliche Eclipse-Tutorials für Anfänger
- Implementierung unseres ersten WebDriver-Skripts - Selenium WebDriver Tutorial # 10
- Specflow- und Selenium-Webdriver-End-to-End-Beispiel
- Verwendung von Firebug zum Erstellen von Selenium-Skripten - Selenium-Tutorial Nr. 4