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.
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.
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“
Wählen Sie Maven Project und klicken Sie auf Next
Wählen Sie das Kontrollkästchen ‚Create a simple project‘ und klicken Sie auf NextFü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
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
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>
|
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
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