Maven & Jenkins-Integration mit Selenium Einführung
Wo ist Jenkins? Selenium?
Jenkins ist das führende Open-Source-Tool für die kontinuierliche Integration, das vom Hudson Lab entwickelt wurde. Es ist plattformübergreifend und kann auf verwendet werden Windows, Linux, Mac OS und Solaris Umgebungen. Jenkins ist geschrieben in Java. Jenkins Hauptanwendung ist die Überwachung beliebiger Jobs, beispielsweise SVN-Checkout, Cron oder beliebige Anwendungszustände. Es löst vorkonfigurierte Aktionen aus, wenn in Jobs ein bestimmter Schritt auftritt.
Wichtige Funktionen von Jenkins
- Änderungsunterstützung: Jenkins generiert die Liste aller Änderungen, die in Repositorys wie SVN vorgenommen wurden.
- Permanente Links: Jenkins bietet direkte Links zum neuesten Build oder fehlgeschlagenen Build, die für eine einfache Kommunikation verwendet werden können
- Installation: Jenkins ist einfach zu installieren, entweder über eine direkte Installationsdatei (exe) oder eine WAR-Datei zur Bereitstellung über den Anwendungsserver.
- E-Mail-Integration: Jenkins kann so konfiguriert werden, dass der Inhalt des Build-Status per E-Mail versendet wird.
- Einfache Konfiguration: Die Konfiguration verschiedener Aufgaben auf Jenkins ist einfach.
- TestNG Test: Jenkins kann so konfiguriert werden, dass der darauf aufbauende Automatisierungstest ausgeführt wird Testng nach jedem Build von SVN.
- Mehrere VMs: Jenkins kann so konfiguriert werden, dass der Build auf mehreren Maschinen verteilt wird.
- Projektaufbau: Jenkins dokumentiert die Jar-Details, die Jar-Version und die Zuordnung von Build- und Jar-Nummern.
- Plugins: 3rd Das Party-Plugin kann in Jenkins konfiguriert werden, um Features und zusätzliche Funktionen zu nutzen.
Warum Jenkins und Selenium?
- Laufen Selenium Mit Tests in Jenkins können Sie Ihre Tests jedes Mal ausführen, wenn sich Ihre Software ändert, und die Software in einer neuen Umgebung bereitstellen, wenn die Tests erfolgreich sind.
- Jenkins kann die Ausführung Ihrer Tests zu einem bestimmten Zeitpunkt planen.
- Sie können den Ausführungsverlauf und Testberichte speichern.
- Jenkins unterstützt Maven beim Aufbau und Testen ein Projekt in kontinuierlicher Integration.
Worin steckt Maven? Selenium?
Maven ist ein leistungsstarkes Projekt-/Build-Management-Tool, das auf dem Konzept eines POM (Project Object Model) basiert und Projektinformationen und Konfigurationsinformationen für Maven wie Konstruktionsverzeichnis, Quellverzeichnis, Abhängigkeit, Testquellenverzeichnis, Ziele, Plugins usw. enthält .
Warum Maven & Jenkins
Selenium WebDriver eignet sich hervorragend für die Browser-Automatisierung. Aber wenn man es zum Testen und Erstellen eines Test-Frameworks verwendet, fühlt es sich leistungsschwach an. Integration von Maven mit Selenium bietet folgende Vorteile
Apache Maven bietet Unterstützung für die Verwaltung des gesamten Lebenszyklus eines Testprojekts.
- Maven wird verwendet, um Projektstruktur, Abhängigkeiten, Build- und Testmanagement zu definieren.
- Mit pom.xml (Maven) können Sie Abhängigkeiten konfigurieren, die zum Erstellen von Tests und zum Ausführen von Code erforderlich sind.
- Maven lädt beim Erstellen des Projekts automatisch die erforderlichen Dateien aus dem Repository herunter.
So installieren Sie Maven und verwenden es mit TestNG Selenium
Hier finden Sie Schritte zum Installieren und Verwenden von Maven TestNG Selenium
Für dieses Tutorial verwenden wir Eclipse (Juno) IDE für Java Entwickler zum Einrichten Selenium WebDriver-Projekt. Zusätzlich müssen wir das m2eclipse-Plugin hinzufügen, um Eclipse um den Build-Prozess zu erleichtern und die Datei pom.xml zu erstellen.
Fügen wir das m2eclipse-Plugin hinzu zu Eclipse mit folgenden Schritten:
Schritt 1) In Eclipse IDE, auswählen Hilfe | Neue Software installieren von Eclipse Hauptmenü.
Schritt 2) Geben Sie im Dialogfeld „Installieren“ die URL ein https://www.eclipse.org/m2e/. Wählen Arbeiten mit und das M2E-Plugin, wie im folgenden Screenshot gezeigt:
Schritt 3) Klicken Sie auf Nächster Klicken Sie auf die Schaltfläche und schließen Sie die Installation ab.
Einrichtung Eclipse mit Maven
Nachdem das m2e-Plugin installiert ist, müssen wir jetzt ein Maven-Projekt erstellen.
Schritt 1) In Eclipse IDE, erstellen Sie ein neues Projekt, indem Sie auswählen Reichen Sie das | NEU | Andere von Eclipse Menü.
Schritt 2) Auf dem NEU Dialog auswählen Maven | Maven-Projekt und klicken Sie auf Weiter
Schritt 3) Auf dem Neues Maven-Projekt Dialog wählen Sie die Erstellen Sie ein einfaches Projekt und klicken Sie auf Weiter
Schritt 4) Geben Sie WebdriverTest ein Gruppen-ID: und Artefakt-ID: und klicken Sie auf Fertig stellen
Schritt 5) Eclipse wird erzeugen WebdriverTest mit folgendem Aufbau:
Schritt 6) Klicken Sie mit der rechten Maustaste auf JRE-Systembibliothek und wählen Sie die Immobilien Reiter im Menü.
Auf dem Eigenschaften für die JRE-Systembibliothek Stellen Sie sicher, dass Standard-JRE für den Arbeitsbereich ausgewählt ist und klicken Sie auf OK
Schritt 7). Wählen pom.xml von Projekt Explorer..
Die Datei pom.xml wird im Abschnitt „Editor“ geöffnet
Schritt 8) Fügen Sie Selenium, Maven, TestNG, Juni Abhängigkeiten zu pom.xml in der Knoten:
<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>
Schritt 9) Erstelle eine neue TestNG Klasse. Geben Sie den Paketnamen „example“ und „NewTest“ ein Name: und klicken Sie auf das Farbe Schaltfläche, wie im folgenden Screenshot gezeigt:
Schritt 10). Eclipse erstellt die NewTest-Klasse wie im folgenden Screenshot gezeigt:
Schritt 11) Fügen Sie den folgenden Code hinzu in die NeuTest Klasse:
Dieser Code überprüft den Titel von Guru99 Selenium Seite
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("https://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(); } }
Schritt 12) Klicken Sie mit der rechten Maustaste auf WebdriverTest und wählen Sie TestNG | Konvertieren zu TestNG.
Eclipse erstellt testng.xml, das besagt, dass Sie nur einen Test mit dem Namen ausführen müssen NeuTest wie im folgenden Screenshot gezeigt:
Aktualisieren Sie das Projekt und stellen Sie sicher, dass die Datei in der Baumstruktur angezeigt wird Paket-Explorer (Rechtsklick auf das Projekt – Aktualisieren).
Schritt 13) Jetzt müssen Sie dies testen testng.xml.
Also, geh zum Konfigurationen ausführen und erstellen Sie einen neuen Start TestNG, wählen Sie das Projekt und das Feld aus Suiten as testng.xml und klicken Sie auf Ausführen
Stellen Sie sicher, dass der Build erfolgreich abgeschlossen wurde.
Schritt 14). Darüber hinaus müssen wir hinzufügen
- Maven-Compiler-Plugin
- Maven-Surefire-Plugin
- testng.xml
zu pom.xml.
Das Maven-Surefire-Plugin wird zum Konfigurieren und Ausführen von Tests verwendet. Hier wird das Plugin zum Konfigurieren der Datei „testing.xml“ verwendet TestNG testen und Testberichte erstellen.
Das Maven-Compiler-Plugin wird verwendet, um den Code zu kompilieren und die jeweilige JDK-Version für die Kompilierung zu verwenden. Fügen Sie alle Abhängigkeiten im folgenden Codeausschnitt zu pom.xml im Knoten:
Schritt 15) Um das auszuführene Tests im Maven-Lebenszyklus: Klicken Sie mit der rechten Maustaste auf WebdriverTest und wählen Sie aus Rennen wie | Maven-Test. Maven führt Tests aus dem Projekt aus.
Stellen Sie sicher, dass der Build erfolgreich abgeschlossen wurde.
So integrieren Sie Jenkins mit Selenium WebTreiber
Hier sind die Schritte zum Installieren von Jenkins und zum Konfigurieren zum Ausführen von Maven mit TestNg Selenium
Installation
Schritt 1) Gehe zu http://jenkins-ci.org/ und laden Sie das richtige Paket für Ihr Betriebssystem herunter. Installieren Sie Jenkins.
Schritt 2) Entpacken Sie Jenkins in den angegebenen Ordner. Führen Sie die EXE-Datei wie im folgenden Screenshot gezeigt aus:
Schritt 3) In Jenkins 1.607-Setup Fenster klicken Sie auf Nächster .
Schritt 4) Klicken Sie auf Installieren Schaltfläche am Ende.
Schritt 5) Navigieren Sie nach Abschluss der Installation im Browserfenster zum Jenkins-Dashboard (standardmäßig http://localhost:8080).
Schritt 6) Klicken Sie auf Neues Element Link zum Erstellen eines CI-Jobs.
Schritt 7) Wählen Sie das Optionsfeld „Maven-Projekt“ aus, wie im folgenden Screenshot gezeigt:
Verwenden des Build a Maven-Projekt Option unterstützt Jenkins das Erstellen und Testen von Maven-Projekten.
Schritt 8) Klicken Sie auf die Schaltfläche OK. Im Jenkins Dashboard wird ein neuer Job mit dem Namen „WebdriverTest“ erstellt.
Schritt 9) Gehe zu Verwalte Jenkins => System konfigurieren wie im folgenden Screenshot gezeigt.
Klicken Sie auf JDK-Installationen und konfigurieren Sie JDK wie im folgenden Screenshot:
Schritt 10) Gehen Sie zum Bauen Abschnitt „Neuer Job“.
- Im Root-POM Geben Sie im Textfeld den vollständigen Pfad zu pom.xml ein.
- Geben Sie im Abschnitt „Ziele und Optionen“ „sauberer Test“ ein.
Schritt 11) Klicken Sie auf Bewerben .
Schritt 12) Klicken Sie auf der WebdriverTest-Projektseite auf Bauen Sie jetzt Link.
Maven wird das Projekt erstellen. Dann wird es so sein TestNG Führen Sie die Testfälle aus.
Schritt 13) Sobald der Build-Prozess abgeschlossen ist, klicken Sie im Jenkins Dashboard auf WebdriverTest Projekt
Schritt 14) Auf der Projektseite von WebdriverTest werden der Build-Verlauf und Links zu den Ergebnissen angezeigt, wie im folgenden Screenshot dargestellt:
Schritt 15) Klicken Sie auf den Link „Neueste Testergebnisse“, um die Testergebnisse wie im folgenden Screenshot angezeigt anzuzeigen:
Schritt 16). Wählen Sie einen bestimmten Build aus und Sie sehen den aktuellen Status, indem Sie auf „Konsolenausgabe".
Planen Sie Jenkins für die automatische Ausführung.
Builds planen(Selenium Tests) ist eine der wichtigen Funktionen von Jenkins, bei der der Build basierend auf definierten Kriterien automatisch ausgelöst wird. Jenkins bietet mehrere Möglichkeiten, den Build-Prozess unter der Build-Trigger-Konfiguration auszulösen.
Beispielsweise:
Geben Sie 0 23 * * * in das Textfeld Zeitplan ein, wie im folgenden Screenshot gezeigt. Dadurch wird der Build-Prozess jeden Tag um 11 Uhr ausgelöst.
Verwendung von Jenkings ohne Maven
Um ein reines TestNg-Skript in Jenkins auszuführen, geben Sie Folgendes in Build ein
D:>java -cp „Pathtolibfolder\lib\*;Pathtobinfolder\bin“ org.testng.TestNG testng.xml
- Klicken Sie auf die Schaltfläche Speichern.
- Hinweis: Der tatsächliche Pfad des lib- und bin-Ordners muss im obigen Befehl hinzugefügt werden.
- Nach dem Speichern des Befehls erstellt Jenkins das Projekt in einer vordefinierten Zeit und dieser Befehl wird mit ausgeführt TestNG.
- Das Ergebnis wird in einer benutzerdefinierten HTML-Berichtsdatei gespeichert, die mit einer Jenkin-Konfiguration per E-Mail gesendet werden kann
- Die Ausgabe des Codes erfolgt
Vorteile der Verwendung von Jenkins
- Frühzeitige Problemerkennung – Fehler können in der frühen Phase der Softwareentwicklung erkannt werden
- Automatische Integration – kein separater Aufwand zur Integration aller Änderungen erforderlich
- Installer – ein einsetzbares System, das zu jedem Zeitpunkt der Entwicklung verfügbar ist
- Aufzeichnungen – Aufzeichnungen über die Teilekonstruktion werden gepflegt
- Support und Plugins: Einer der Gründe für Jenkins Popularität ist die große Community-Unterstützung. Außerdem sind viele vorgefertigte Plugins verfügbar, mit denen Sie die Funktionalität erweitern können.