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:

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Schritt 3) Auf dem Neues Maven-Projekt Dialog wählen Sie die Erstellen Sie ein einfaches Projekt und klicken Sie auf Weiter

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Schritt 4) Geben Sie WebdriverTest ein Gruppen-ID: und Artefakt-ID: und klicken Sie auf Fertig stellen

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Schritt 5) Eclipse wird erzeugen WebdriverTest mit folgendem Aufbau:

Installieren Sie Maven und verwenden Sie es mit TestNG Seleniuml

Schritt 6) Klicken Sie mit der rechten Maustaste auf JRE-Systembibliothek und wählen Sie die Immobilien Reiter im Menü.

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Schritt 7). Wählen pom.xml von Projekt Explorer..

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Die Datei pom.xml wird im Abschnitt „Editor“ geöffnet

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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:

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Schritt 10). Eclipse erstellt die NewTest-Klasse wie im folgenden Screenshot gezeigt:

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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:

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Aktualisieren Sie das Projekt und stellen Sie sicher, dass die Datei in der Baumstruktur angezeigt wird Paket-Explorer (Rechtsklick auf das Projekt – Aktualisieren).

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

Stellen Sie sicher, dass der Build erfolgreich abgeschlossen wurde.

Schritt 14). Darüber hinaus müssen wir hinzufügen

  1. Maven-Compiler-Plugin
  2. Maven-Surefire-Plugin
  3. 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:

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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.

Installieren Sie Maven und verwenden Sie es mit TestNG Selenium

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.

Integration von Jenkins mit Selenium WebTreiber

Schritt 2) Entpacken Sie Jenkins in den angegebenen Ordner. Führen Sie die EXE-Datei wie im folgenden Screenshot gezeigt aus:

Integration von Jenkins mit Selenium WebTreiber

Schritt 3) In Jenkins 1.607-Setup Fenster klicken Sie auf Nächster .

Integration von Jenkins mit Selenium WebTreiber

Schritt 4) Klicken Sie auf Installieren Schaltfläche am Ende.

Integration von Jenkins mit Selenium WebTreiber

Schritt 5) Navigieren Sie nach Abschluss der Installation im Browserfenster zum Jenkins-Dashboard (standardmäßig http://localhost:8080).

Integration von Jenkins mit Selenium WebTreiber

Schritt 6) Klicken Sie auf Neues Element Link zum Erstellen eines CI-Jobs.

Integration von Jenkins mit Selenium WebTreiber

Schritt 7) Wählen Sie das Optionsfeld „Maven-Projekt“ aus, wie im folgenden Screenshot gezeigt:

Integration von Jenkins mit Selenium WebTreiber

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.

Integration von Jenkins mit Selenium WebTreiber

Schritt 9) Gehe zu Verwalte Jenkins => System konfigurieren wie im folgenden Screenshot gezeigt.

Integration von Jenkins mit Selenium WebTreiber

Klicken Sie auf JDK-Installationen und konfigurieren Sie JDK wie im folgenden Screenshot:

Integration von Jenkins mit Selenium WebDrive

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.
  • Integration von Jenkins mit Selenium WebTreiber

Schritt 11) Klicken Sie auf Bewerben .

Integration von Jenkins mit Selenium WebTreiber

Schritt 12) Klicken Sie auf der WebdriverTest-Projektseite auf Bauen Sie jetzt Link.

Integration von Jenkins mit Selenium WebTreiber

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

Integration von Jenkins mit Selenium WebTreiber

Schritt 14) Auf der Projektseite von WebdriverTest werden der Build-Verlauf und Links zu den Ergebnissen angezeigt, wie im folgenden Screenshot dargestellt:

Integration von Jenkins mit Selenium WebTreiber

Schritt 15) Klicken Sie auf den Link „Neueste Testergebnisse“, um die Testergebnisse wie im folgenden Screenshot angezeigt anzuzeigen:

Integration von Jenkins mit Selenium WebTreiber

Schritt 16). Wählen Sie einen bestimmten Build aus und Sie sehen den aktuellen Status, indem Sie auf „Konsolenausgabe".

Integration von Jenkins mit Selenium WebTreiber

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.

Jenkins für automatische Ausführung

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

Jenkins für automatische Ausführung

  • 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

Jenkins für automatische Ausführung

Vorteile der Verwendung von Jenkins

  1. Frühzeitige Problemerkennung – Fehler können in der frühen Phase der Softwareentwicklung erkannt werden
  2. Automatische Integration – kein separater Aufwand zur Integration aller Änderungen erforderlich
  3. Installer – ein einsetzbares System, das zu jedem Zeitpunkt der Entwicklung verfügbar ist
  4. Aufzeichnungen – Aufzeichnungen über die Teilekonstruktion werden gepflegt
  5. 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.