Selenium Continuous Integration mit Jenkins [Selenium – Maven – Git – Jenkins] – Schritt für Schritt Anleitung

Selenium Continuous Integration mit Jenkins mit GIT

In diesem Beitrag versuche ich, eine vollständige Anleitung zur Selenium Continuous Integration (End-to-End-Integration) mit Jenkins beizubehalten. Dies ist eine Anleitung zur Implementierung der kontinuierlichen Integration mit Jenkins, Maven und TestNG mit GitHub. Es gibt viele Tools und Techniken, die in eine CI-Umgebung integriert werden können. Hier verwende ich Selenium WebDriver, Java, TestNG, Maven und integriere diese in Jenkins. Um die kontinuierliche Integration zu implementieren, folgen Sie den 9 Schritten, die ich unten erwähnt habe.

  • 1. Was ist kontinuierliche Integration
  • 2. Was ist Maven
  • 3. Erstellen eines Maven-Projekts in Eclipse
  • 4. Was ist GIT
  • 5. Was ist Jenkins
  • 6. Installation von Jenkins
  • 7. Konfigurieren von Jenkins für ein Maven-Projekt
  • 8. Konfigurieren Sie das GIT-Plugin in Jenkins
  • 9. Maven-Projekt von Jenkins ausführen

Was ist kontinuierliche Integration

Kontinuierliche Integration wird als CI abgekürzt. Continuous Integration ist eine Entwicklungspraxis, die darauf abzielt, die Korrektheit einer Software sicherzustellen. Nach jedem Commit wird eine Reihe von Tests automatisch ausgeführt und eine Software getestet, um sicherzustellen, dass die Software ohne Unterbrechungen ausgeführt wird. Wenn ein Test fehlschlägt, erhalten wir sofort ein Feedback mit der Aufschrift „Build is broken“.

In einfachen Worten, Continuous Integration ist ein Prozess der Überprüfung der Korrektheit einer Software.

Kontinuierliche Integration

Einige der Continuous Integration Tools sind Jenkins, TeamCity, Bamboo, Travis, CircleCI, Bitbucket, CruiseControl

Was ist Maven

Maven, ein jiddisches Wort für „Akkumulator des Wissens“. Maven ist ein Build-Automatisierungstool, das hauptsächlich für Java-Projekte verwendet wird. Es hilft beim Erstellen von Software, es beschreibt, wie Software erstellt wird, und es beschreibt seine Abhängigkeiten. Es lädt dynamisch Java-Bibliotheken und Maven-Plug-Ins aus einem oder mehreren Repositorys wie dem zentralen Maven 2-Repository herunter und speichert sie in einem lokalen Cache. Wir verwenden Maven in Selenium als Build-Tool oder Projektmanagement-Tool. Es hilft bei der Verwaltung aller Projektabhängigkeiten und gewährleistet einen einfachen Erstellungsprozess.

Hauptziele von Maven sind wie folgt:

  • Den Build-Prozess einfach machen
  • Bereitstellung eines einheitlichen Build-Systems
  • Bereitstellung hochwertiger Projektinformationen
  • Bereitstellung von Richtlinien für die Entwicklung von Best Practices
  • Transparente Migration auf neue Funktionen ermöglichen

Bisher haben wir gelernt, was Continuous Integration und was Maven ist. Wenn Sie an Ihrem System sitzen und versuchen, es zu implementieren, beginnen wir mit der Implementierung der unten genannten 9 Schritte.

Selenium Kontinuierliche Integration mit Jenkins

SCHRITT 1: Öffnen Sie Ihre Eclipse-IDE, um mit dem Erstellen eines Maven-Projekts zu beginnen

Erstellen eines Maven-Projekts in Eclipse

Installieren eines Maven-Projekts in Eclipse:

SCHRITT 2: Installieren von Maven in Eclipse: Überprüfen Sie diesen Link

Jetzt haben wir Maven in Eclipse installiert. Lassen Sie uns nun ein Maven-Projekt in Jenkins erstellen.

Maven-Projekt in Jenkins erstellen:

SCHRITT 3: Erstellen Sie ein neues Maven-Projekt in Eclipse – Befolgen Sie die folgenden Schritte

3.1 Um ein Projekt zu erstellen, klicken Sie mit der rechten Maustaste auf den Paket-Explorer und navigieren Sie durch Neu – Andere

Stellen Sie sicher, dass TestNG bereits installiert ist. Überprüfen Sie dies, um zu sehen, „Wie man TestNG in Eclipse installiert“ und dies überprüfen Sie diesen Link für „TestNG Complete Tutorial“

 Install Maven

Wählen Sie Maven Project und klicken Sie auf NextInstall Maven

Wählen Sie das Kontrollkästchen ‚Create a simple project‘ und klicken Sie auf NextCreate Maven ProjectFüllen Sie die Gruppen-ID und die Artefakt-ID aus und klicken Sie auf die Schaltfläche Finish

das Projekt sieht wie im folgenden Bild gezeigt aus

 Maven-Projekt erstellen

3.2 Konfigurieren Sie pom.XML-Datei, die automatisch erstellt wurde, um andere Plugin-Jars in den Build-Prozess aufzunehmen. Es befindet sich im Stammverzeichnis des Maven-Projekts, wie im folgenden Bild gezeigt.

Im Maven-Projekt verwenden wir die POM-Datei, um die erforderlichen Abhängigkeiten hinzuzufügen. Doppelklicken Sie auf pom.xml-Datei und klicken Sie auf pom.xml tab

Maven-Projekt erstellen

Fügen Sie die folgende Maven-Abhängigkeit (Selenium und TestNG) hinzu, damit Maven die erforderlichen Jars für Ihr Projekt herunterladen kann.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<dependencies>
<!– Selenium –>
<dependency>
< groupId > org.Selene.selen</groupId>
< artifactId>selenium-java</artifactId>
< version>2.53.1</Ausführung>
</ abhängigkeit>
<!– Testen –>
< abhängigkeit>
< groupId>org.testng</groupId>
< artifactId>testng</artifactId>
< fassung>6.8</Ausführung>
< geltungsbereich>test</Geltungsbereich>
</ abhängigkeit>
</ abhängigkeiten>

 Maven-Projekt erstellen

3.3 Wenn Sie der Abhängigkeit TestNG-Jars hinzufügen, wird TestNG in Ihrem Projekt aktiviert.

Erstellen Sie eine TestNG-Klasse und generieren Sie testng.xml-Datei. Überprüfen Sie den folgenden Link, um diesen Schritt auszuführen.

So erstellen Sie eine TestNG-Klasse und generieren testng.xml-Datei

Maven-Projekt erstellen

Kopieren Sie den folgenden Code und platzieren Sie ihn in Ihrer NewTest-Klasse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

package tests;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class NewTest {
public WebDriver driver;
@Test
public void openMyBlog() {
driver.get(„https://www.softwaretestingmaterial.com/“);
}
@ BeforeClass
public void BeforeClass() {
System.setProperty(„Web-Treiber.Gecko.treiber“, „D:\\Selenium\\Drivers\\geckodriver.exe“);
driver = neuer FirefoxDriver();
}
@ AfterClass
public void AfterClass() {
} .beenden();
}
}

in:testng.in: testng.XML-Datei sieht aus wie unten. Kopieren Sie es und platzieren Sie es in Ihrem Testng.xml

1
2
3
4
5
6
7
8

<?xml version=“1.0″ encoding=“UTF-8″?>
<suite name=“Suite“ parallel=“false“>
<test name=“Test“>
<classes>
<class name=“tests.NewTest“/>
</classes>
</test> <!– Testen –>
</ suite> <!– Suiten –>

Um das Projekt mit testng auszuführen.xml, Rechtsklick auf ‚testng.xml‘-Datei und gehen Sie zu Run As – TestNG Suite

3.4 Hinzufügen von ‚maven-compiler-plugin‘ und ‚maven-surefire-plugin‘ zum Pom.xml-Datei

, um das Projekt mit pom auszuführen.xml, müssen wir einige weitere Einträge im pom hinzufügen.xml-Datei. Wir müssen ‚maven-compiler-plugin‘ und ‚maven-surefire-plugin‘

pom hinzufügen.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

<project xmlns=“http://maven.apache.org/POM/4.0.0″ xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance“ xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd“>
<modelVersion>4.0.0</Modellversion>
< groupId>mavenPackage</groupId>
< artifactId>MavenProject</artifactId>
< version>0.0.1-SCHNAPPSCHUSS</version>
< abhängigkeiten>
<!– Selen –>
< abhängigkeit>
< groupId>org.seleniumhq.selen</groupId>
< artifactId>selenium-java</artifactId>
< version>2.53.1</ausführung>
</ abhängigkeit>
<!– Testen –>
< abhängigkeit>
< groupId>org.testng</groupId>
< artifactId>testng</artifactId>
< version>6.8</Ausführung>
< geltungsbereich>test</Geltungsbereich>
</ abhängigkeit>
</ abhängigkeiten>
< bauen>
< plugins>
< plug-ins>
< groupId>org.Apache.maven.plugins</groupId>
< artifactId>maven-Compiler-plugin</artifactId>
< version>3.6.1</Ausführung>
< konfiguration>
< quelle>1,8</Quelle>
< ziel>1,8</Ziel>
</ konfiguration>
</ plug-ins>
< plug-ins>
< groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!– <suiteXmlFile>src/main/resources/testng.xml</suitexmldatei> –>
</ suiteXmlFiles>
</ konfiguration>
</ plug-ins>
</ plugins>
</ bauen>
</ projekt>

Hinweis: Der Erstellungsprozess erstellt Ihr Maven-Projekt und führt den Basistest aus.xml während eines Maven-Tests. Sobald Sie Maven eingerichtet und alle entsprechenden Jars heruntergeladen haben, klicken Sie mit der rechten Maustaste auf das Projekt, gehen Sie zu run – Maven Clean und versuchen Sie dann install & build . Wenn Sie Ihre Maven-Projekte erstellen / bereinigen / installieren können, haben Sie Maven erfolgreich installiert / konfiguriert.

Was ist GIT

Git ist heute das weltweit am weitesten verbreitete moderne Versionskontrollsystem zum Verfolgen von Änderungen in beliebigen Dateien. Git ist ein Open Source Projekt. Es zielt auf Geschwindigkeit, Datenintegrität und Unterstützung für verteilte, nichtlineare Workflows ab. Sie können Ihre Arbeit lokal festschreiben und dann Ihre Kopie des Repositorys mit der Kopie auf dem Server synchronisieren.

SCHRITT 4: Installieren Sie GIT in Eclipse und fügen Sie ein Maven-Projekt zu GitHub hinzu (Hochladen)

Hier finden Sie ein Video-Tutorial zum Thema „Wie installiere ich GitHub in Eclipse und wie lade ich ein Projekt auf GitHub hoch“:

Bitte haben Sie etwas Geduld. Das Video wird in einiger Zeit geladen.

Was ist Jenkins

Jenkins ist ein Open-Source-Automatisierungsserver. Es unterstützt uns bei der Automatisierung aller Arten von Aufgaben im Zusammenhang mit dem Erstellen, Bereitstellen und Automatisieren von Projekten. Es ist plattformübergreifend und kann unter Windows, Mac OS, Linux usw. verwendet werden. Als Teil von Selenium verwenden wir es, um unsere Software kontinuierlich zu erstellen und zu testen. Es wird für automatische Testausführungen und geplante Builds verwendet. Mit Jenkins konnten wir auch Ergebnisse veröffentlichen und E-Mail-Benachrichtigungen an alle Teammitglieder senden. Jenkins bietet Continuous Integration und Continuous Delivery Service für die Softwareentwicklung.

Hier ist der offizielle Link zur Jenkins-Dokumentation.

Bisher haben wir Maven installiert, ein Maven-Projekt in Eclipse erstellt und GIT in Eclipse installiert und ein Maven-Projekt auf GitHub hochgeladen. Außerdem haben wir gelernt, was Continuous Integration, Maven, GIT und Jenkins sind. Jetzt werden wir Jenkins installieren und konfigurieren.

Installation von Jenkins

SCHRITT 5: Installieren Sie Jenkins – Überprüfen Sie diesen Link

Früher haben wir einen Beitrag zur Installation von Jenkins veröffentlicht, siehe diesen Beitrag zur Installation von Jenkins

Konfigurieren von Jenkins für ein Maven-Projekt

SCHRITT 6: Konfigurieren von Jenkins für ein Maven–Projekt – Überprüfen Sie diesen Link

Früher haben wir einen Beitrag zum Konfigurieren von Jenkins für ein Maven-Projekt veröffentlicht, siehe diesen Beitrag zum Konfigurieren von Jenkins für ein Maven-Projekt

Bisher haben wir das Maven-Projekt in Eclipse installiert und erstellt, das Maven-Projekt installiert und auf GitHub hochgeladen und Jenkins für das Maven-Projekt installiert und konfiguriert. Jetzt werden wir das GIT-Plugin in Jenkins konfigurieren.

GIT-Plugin in Jenkins konfigurieren

SCHRITT 7: GIT-Plugin in Jenkins konfigurieren – Führen Sie die folgenden Schritte aus

7.1 Gehen Sie zu Plugins verwalten -> Filterliste der Plugins, die mit ‚Git Plugin‘ verfügbar sind.

Lesen Sie mehr über das Git-Plugin

7.2 Überprüfen Sie das Git-Plugin und klicken Sie auf die Schaltfläche ‚Ohne Neustart installieren‘

Im folgenden Screenshot sehen Sie, dass ich es bereits installiert habe.

7.3 Starten Sie Jenkins nach Abschluss der Installation mit dem Befehl im Browser neu. http://localhost:8080/jenkins/restart

Nach dem Neustart von Jenkins sollte die Git-Option unter der Quellcodeverwaltung verfügbar sein, wenn ein Job in Jenkins konfiguriert wird. Dies werden wir in Schritt 8 sehen.

7.4 Gehen Sie zu Jenkins verwalten -> System konfigurieren, bitte geben Sie den richtigen Pfad zur ausführbaren Git–Datei an

SCHRITT 8: Erstellen Sie ein Maven-Projekt in Jenkins und erstellen Sie einen Job aus dem Git-Projekt – Befolgen Sie die folgenden Schritte

Wir haben das GIT-Plugin in Jenkins konfiguriert. Lassen Sie uns nun ein Maven-Projekt erstellen und einen Job aus dem Git-Projekt erstellen

8.1 Klicken Sie auf Neue Elemente -> Geben Sie den Projektnamen ein (sagen Sie GitProject) –> Freestyle-Projekt auswählen -> Klicken Sie auf OK

Sie werden zur Konfigurationsseite weitergeleitet. Klicken Sie auf die Registerkarte Quellcodeverwaltung

8.2 Wählen Sie in der Quellcodeverwaltung die Option ‚Git‘. (Dies sollte sichtbar sein, sobald Sie das Git-Plugin erfolgreich installiert haben – was wir in Schritt 7.3 getan haben).

8.3 Geben Sie Ihre Git–Repository-URL an (die wir in Schritt 4 erfasst haben – Sehen Sie sich das Video zum Erstellen eines Repositorys in Git an und kopieren Sie die Git-Repository-URL), wählen Sie Ihre Anmeldeinformationen aus und speichern Sie Ihre Änderungen

Jenkins ruft den Quellcode des Projekts basierend auf der von uns übergebenen Repository-URL vom Remote-Git-Server ab.

8.4 In Build – klicken Sie auf Add build step und wählen Sie Invoke top-level Maven targets und übergeben Sie ‚clean install‘ als Ziele. Klicken Sie auf die Schaltfläche Erweitert und übergeben Sie den POM-Wert als ‚pom.xml‘

Hinweis: Legen Sie unter Git Plug-in das globale git user.name und Benutzer.e-Mail an Ihre globalen Konfigurationsoptionen

Sie können auch Aktionen nach dem Erstellen übergeben, um Berichte zu generieren. Um TestNG-HTML-Berichte zu generieren, wählen Sie TestNG-Berichte veröffentlichen aus, indem Sie auf Post-Build-Aktion hinzufügen klicken und den Wert als ‚** / testng-results‘ übergeben.xml‘

Und schließlich auf Speichern klicken.

Erfahren Sie, wie Sie ein einfaches Maven-Projekt in Jenkins konfigurieren

Die Jenkins Continuous Integration-Projektstruktur in Eclipse sieht wie folgt aus:

Ausführen des Maven-Projekts von Jenkins

SCHRITT 9: Ausführen des Maven–Projekts von Jenkins aus – Befolgen Sie die folgenden Schritte

Führen wir es jetzt aus.

9.1 Klicken Sie auf den Link ‚Jetzt erstellen‘. Es wird das Pom aufrufen.XML.

9.2 Rechtsklick auf Build-Nummer (hier in meinem Fall ist es # 1) und klicken Sie auf Konsolenausgabe, um das Ergebnis zu sehen.

Sie können den Build-Status ‚Erfolg‘ in der Konsolenausgabe sehen.

Sie können auch Jenkins-Jobs planen und nach dem Build-Lauf eine E-Mail-Benachrichtigung senden.

Zum Planen von Jenkins-Jobs:

Öffnen Sie Ihren Jenkins-Job – Konfigurieren – Trigger erstellen – Aktivieren Sie das Kontrollkästchen Regelmäßig erstellen und geben Sie Ihr Cron-Jobmuster ein

Zum Beispiel: Um Ihren Job jede Minute auszuführen, müssen Sie Folgendes eingeben * * * * *

Jenkins arbeitet am Cron-Muster. Erfahren Sie mehr über das Cron–Jobmuster – Wiki–Link

Zum Senden von E–Mail-Benachrichtigungen:

Gehen Sie zu Jenkins verwalten – Konfigurieren – E-Mail-Benachrichtigung auswählen – SMTP-Konfiguration festlegen.

Sie erhalten eine E-Mail-Benachrichtigung, wenn der Build erfolgreich ist oder fehlschlägt.

Fazit:

Selenium Continuous Integration mit Jenkins ermöglicht es uns, unsere Skripte bei jeder Bereitstellung auszuführen. Mit Jenkins können wir den Ausführungsverlauf und die Berichte speichern. Ich hoffe, dieser Beitrag hat Ihnen geholfen, Ihre Ziele zu erreichen. Ich hoffe, Sie haben Selenium Continuous Integration erfolgreich implementiert. Bitte zögern Sie nicht, wenn Sie Fragen haben.

Hier sind einige handverlesene Artikel, die Sie als nächstes lesen können:

  • So führen Sie Selenium–Skripte mit BrowserStack aus
  • Lernen Sie das Cross–Browser–Testtool
  • Vollständige Anleitung – GUI-Automatisierungstool – Froglogic Squish
  • Am beliebtesten – Selenium-Interviewfragen
  • TestNG-Interviewfragen
  • Warum Sie sich für Softwaretests als Karriere entscheiden
  • Allgemeine Interviewfragen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Previous post So übertragen Sie Dateien zwischen Linux und Windows über LAN
Next post Punkt eins · Von den Gaben des Heiligen Geistes gemeinsam und insbesondere