Selenium Integration med Maven og Jenkins
⚡ Smart opsummering
Maven Jenkins Selenium Integrationen skaber en automatiseret, kontinuerlig testpipeline, hvor Maven administrerer projektafhængigheder og livscyklus, Jenkins planlægger og udløser builds, og Selenium udfører browsertests og producerer repeterbar, pålidelig og skalerbar end-to-end webautomatisering.

Hvad er Jenkins in Selenium?
Jenkins er det førende open source-værktøj til kontinuerlig integration, der oprindeligt blev udviklet af Hudson Lab. Det er tværplatformsbaseret og kører på Windows, Linux, macOSog Solaris miljøer. Jenkins er skrevet i Java og er nu distribueret som Jenkins LTS til stabil produktionsbrug. Dets primære anvendelse er at overvåge ethvert job, hvilket kan være en SCM-udtjekning, en cron-plan eller enhver applikationstilstand. Jenkins udløser forudkonfigurerede handlinger, når et specifikt trin forekommer i job.
Vigtige funktioner i Jenkins
- Skift support: Jenkins genererer listen over alle ændringer foretaget i arkiver som Git eller SVN.
- Permanente links: Jenkins giver direkte links til den seneste build eller den sidst mislykkede build, hvilket forenkler teamkommunikationen.
- Installation: Jenkins er nem at installere ved hjælp af et native installationsprogram, en WAR-fil installeret på en applikationsserver eller et Docker-billede.
- Email integration: Jenkins kan konfigureres til at sende indhold og status for hvert build via e-mail.
- Nem konfiguration: Konfiguration af forskellige opgaver på Jenkins er ligetil via web-dashboardet.
- TestNG Test: Jenkins kan konfigureres til at køre automatiseringstestbyggeriet TestNG efter hver commit til repository'et.
- Flere VM'er: Jenkins kan distribuere builds på tværs af flere agentmaskiner.
- Projektopbygning: Jenkins dokumenterer detaljerne om JAR-filer, JAR-versioner og kortetping af buildnumre til artefakter.
- Plugins: 3rd Party-plugins kan tilføjes i Jenkins for at udvide funktioner og yderligere funktionalitet.
Hvorfor Jenkins og Selenium?
- Løb Selenium tests i Jenkins lader dig udføre dine tests hver gang softwaren ændres, og implementere softwaren i et nyt miljø, når testene er bestået.
- Jenkins kan planlægge din Selenium tests, der skal køres på et bestemt tidspunkt.
- Du kan gemme udførelseshistorikken og testrapporterne for tracevne.
- Jenkins understøtter Maven til opbygning og Test et projekt i kontinuerlig integration.
Hvad er Maven i Selenium?
Maven er et kraftfuldt projekt- og build-styringsværktøj baseret på konceptet med en POM (Project Object Model), der inkluderer projektinformation og konfigurationsdata for Maven, såsom build-mappen, kildemappen, afhængigheder, testkildemappen, mål, plugins og mere. Maven 3.x er den nuværende stabile linje, der er meget brugt på tværs af Selenium testrammer.
Hvorfor Maven og Jenkins
Selenium WebDriver er fantastisk til browserautomatisering. Men når det bruges til test og opbygning af et testframework, kan det føles underdimensioneret. Integration af Maven med Selenium giver følgende fordele.
Apache Maven giver support til at styre hele livscyklussen af et testprojekt.
- Maven bruges til at definere projektstruktur, afhængigheder, build og teststyring.
- Ved hjælp af pom.xml (Maven) kan du konfigurere afhængigheder, der er nødvendige for at bygge, teste og køre kode.
- Maven downloader automatisk de nødvendige filer fra det centrale arkiv, mens projektet opbygges.
Sådan installerer du Maven og bruger den med TestNG Selenium
Her er trinnene til at installere Maven og bruge det med TestNG Selenium.
Til denne tutorial vil vi bruge Eclipse (Juno) IDE til Java Udviklere til at sætte op Selenium WebDriver-projektet. Derudover skal vi tilføje m2eclipse-plugin'et til Eclipse for at lette byggeprocessen og oprette pom.xml-filen.
Lad os tilføje m2eclipse-pluginnet til Eclipse med følgende trin:
Trin 1) In Eclipse IDE, vælg Hjælp | Installer ny software fra Eclipse hovedmenu.
Trin 2) I dialogboksen Installer skal du indtaste URL https://www.eclipse.org/m2e/. Vælg Arbejde med og m2e-pluginnet som vist på følgende skærmbillede:
Trin 3) Klik på Næste knappen og afslut installationen.
Konfigurer Eclipse med Maven
Når m2e-plugin'et er installeret, skal vi nu oprette et Maven-projekt.
Trin 1) In Eclipse IDE, opret et nyt projekt ved at vælge File (Felt) | Ny | Andet fra Eclipse menu.
Trin 2) På Ny dialog, vælg Maven | Maven projekt og klik på Næste.
Trin 3) På Nyt Maven-projekt dialogboksvalg Lav et simpelt projekt og klik på Næste.
Trin 4) Indtast WebdriverTest i Gruppe-id: og Artefakt-id: og klik på færdig.
Trin 5) Eclipse vil skabe WebdriverTest med følgende struktur:
Trin 6) Højreklik på JRE Systembibliotek og vælg Ejendomme mulighed i menuen.
På Egenskaber for JRE System Library dialogboks, sørg for Workspace standard JRE er valgt, og klik på OK.
Trin 7) Type pom.xml fra Projekt Explorer.
pom.xml-filen åbnes i editor-sektionen.
Trin 8) Tilsæt Selenium, Maven, TestNGog JUnit afhængigheder til pom.xml i node:
<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>
Trin 9) Opret en ny TestNG Klasse. Indtast pakkenavnet som "example" og "NewTest" i Navn: tekstboks og klik på Finish knap som vist på følgende skærmbillede:
Trin 10) Eclipse vil oprette NewTest-klassen som vist på følgende skærmbillede:
Trin 11) Tilføj følgende kode til NyTest klasse. Denne kode vil verificere titlen på Guru99 Selenium .
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();
}
}
Trin 12) Højreklik på WebdriverTest-projektet, og vælg TestNG | Konverter til TestNG.
Eclipse vil oprette testng.xml, som angiver, at du kun behøver at køre én test med navnet NyTest som vist på følgende skærmbillede:
Opdater projektet, og sørg for, at filen vises i træet Pakke Explorer (højreklik på projektet – Opdater).
Trin 13) Nu skal du køre testen igennem dette testng.xml.
Så gå til Kør konfigurationer og oprette en ny lancering TestNG, vælg projektet, angiv feltet Suite as testng.xml, og klik på Kør.
Sørg for, at byggeprocessen afsluttes korrekt.
Trin 14) Derudover skal vi tilføje
- maven-compiler-plugin
- maven-surefire-plugin
- testng.xml
til pom.xml.
Maven-surefire-plugin'et bruges til at konfigurere og udføre tests. Her bruges plugin'et til at konfigurere testing.xml for TestNG teste og generere testrapporter.
Maven-compiler-plugin'et bruges til at hjælpe med at kompilere koden og til at bruge en bestemt JDK-version til kompilering. Tilføj alle afhængigheder i følgende kodestykke til pom.xml i knude:
Trin 15) For at køre testene i Maven-livscyklussen skal du højreklikke på WebdriverTest-projektet og vælge Løb som | Maven testMaven vil udføre testen fra projektet.
Sørg for, at byggeprocessen afsluttes korrekt.
Sådan integreres Jenkins med Selenium webdriver
Her er trinene til at installere Jenkins LTS og konfigurer det til at køre Maven med TestNG Selenium.
Installation
Trin 1) Gå til https://www.jenkins.io/download/ og download den korrekte Jenkins LTS-pakke til dit operativsystem. Installer Jenkins.
Trin 2) Unzip Jenkins til en bestemt mappe. Kør exe-filen som vist på følgende skærmbillede:
Trin 3) I Jenkins Opsætning Klik på vinduet Næste .
Trin 4) Klik på Installer knappen til sidst.
Trin 5) Når installationen er færdig, skal du navigere til Jenkins Dashboard (standardindstillingen er http://localhost:8080) i browservinduet.
Trin 6) Klik på Ny vare link for at oprette et CI-job.
Trin 7) Vælg radioknappen Maven-projektet som vist på følgende skærmbillede:
Brug af Build a Maven projekt mulighed, Jenkins understøtter opbygning og test af Maven-projekter.
Trin 8) Klik på OK-knappen. Et nyt job med navnet "WebdriverTest" oprettes i Jenkins Dashboard.
Trin 9) Gå til Administrer Jenkins => Konfigurer system som vist i det følgende skærmbillede.
Klik på JDK installationer og konfigurer JDK som i følgende skærmbillede:
Trin 10) Gå til Byg del af det nye job.
- I Root POM tekstboks, indtast den fulde sti til pom.xml
- I afsnittet Mål og muligheder skal du indtaste "ren test"
Trin 11) Klik på Ansøg .
Trin 12) På WebdriverTest-projektsiden skal du klikke på Byg nu .
Maven vil bygge projektet. Det vil den da have TestNG udføre testcaserne.
Trin 13) Når byggeprocessen er færdig, i Jenkins Klik på dashboardet WebdriverTest projekt.
Trin 14) WebdriverTest-projektsiden viser byggehistorikken og links til resultaterne som vist på følgende skærmbillede:
Trin 15) Klik på linket "Seneste testresultat" for at se testresultaterne som vist på følgende skærmbillede:
Trin 16) Vælg et specifikt build, og du vil se den aktuelle status ved at klikke på “konsoludgang".
Planlægning Jenkins til automatisk udførelse
Planlægning af builds (Selenium tests) er et af de vigtige elementer i Jenkins, hvor den automatisk udløser build'en baseret på definerede kriterier. Jenkins giver flere måder at udløse byggeprocessen under Build Trigger-konfigurationen.
For eksempel:
Indtast 0 23 * * * i skematekstfeltet som vist på det følgende skærmbillede. Dette vil udløse byggeprocessen hver dag kl. 11
Ved brug af Jenkins uden Maven
At køre en ren TestNG manuskript i Jenkins, indtast følgende i build:
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml
- Klik på knappen Gem.
- Bemærk: Den faktiske sti til mapperne lib og bin skal tilføjes i ovenstående kommando.
- Efter at have gemt kommandoen, Jenkins vil bygge projektet på det foruddefinerede tidspunkt, og denne kommando vil blive kørt ved hjælp af TestNG.
- Resultatet gemmes i en brugerdefineret HTML-rapportfil, der kan sendes via e-mail ved hjælp af en Jenkins konfiguration.
- Kodens output vil være:
Fordelene ved at bruge Jenkins
- Tidlig problemfinding – fejl kan opdages i den tidlige fase af softwareudviklingen.
- Automatisk integration – ingen separat indsats kræves for at integrere alle ændringer.
- Installationsprogram – et implementerbart system, der er tilgængeligt på ethvert udviklingspunkt.
- Registreringer – tidligere byggeregistre vedligeholdes.
- Support og plugins – en af grundene til Jenkins's popularitet skyldes tilgængeligheden af bred support fra et fællesskab. Der findes også mange færdige plugins, som kan hjælpe dig med at udvide dens funktionalitet.




































