Maven & Jenkins-Integration mit Selenium Benutzerhandbuch

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 Tests 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 ab 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 Weiter 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 | New | Andere ab Eclipse Menรผ.

Schritt 2) Auf dem New 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 Eigenschaften im Vergleich 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 ab 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) Zurรผck Nach 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 Weiter .

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) Zurรผck Nach 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 zur 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 Tragen Sie .

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: