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:
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
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 Eigenschaften im Vergleich 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 ab 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) Zurรผck Nach 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 Weiter .
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) Zurรผck Nach 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 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.
Schritt 11) Klicken Sie auf Tragen Sie .
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.




































