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.

  • 📦 Maven-rolle: Maven 3.x administrerer afhængigheder, build-livscyklus og plugins via pom.xml, hvilket fjerner manuel JAR-håndtering for Selenium projekter.
  • 🔁 Jenkins Rolle: Jenkins LTS-planer Selenium suiter, overvåger SCM-ændringer og udløser automatiserede regressionskørsler på hver commit eller natlig cron.
  • 🚀 Rørledningsstrøm: Kombination af Maven, Jenkins, Seleniumog TestNG danner et komplet CI/CD-loop, der fanger fejl inden for få minutter efter kodeændring.
  • ✅ Rapportering: Surefire rapporterer plus Jenkins opbygge historie give tracBrugbare, delbare testresultater med konsoloutput og HTML-dashboards.
  • 🧪 AI-forbedring: Moderne AI-plugins prioriterer påvirkede tests, forudsiger ustabile tilfælde og reducerer Jenkins feedbackcyklusser indeni Selenium rørledninger.

Maven & Jenkins Integration med Selenium

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:

Installer Maven og brug den med TestNG Selenium

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.

Installer Maven og brug den med TestNG Selenium

Trin 3) På Nyt Maven-projekt dialogboksvalg Lav et simpelt projekt og klik på Næste.

Installer Maven og brug den med TestNG Selenium

Trin 4) Indtast WebdriverTest i Gruppe-id: og Artefakt-id: og klik på færdig.

Installer Maven og brug den med TestNG Selenium

Trin 5) Eclipse vil skabe WebdriverTest med følgende struktur:

Installer Maven og brug den med TestNG Seleniuml

Trin 6) Højreklik på JRE Systembibliotek og vælg Ejendomme mulighed i menuen.

Installer Maven og brug den med TestNG Selenium

På Egenskaber for JRE System Library dialogboks, sørg for Workspace standard JRE er valgt, og klik på OK.

Installer Maven og brug den med TestNG Selenium

Trin 7) Type pom.xml fra Projekt Explorer.

Installer Maven og brug den med TestNG Selenium

pom.xml-filen åbnes i editor-sektionen.

Installer Maven og brug den med TestNG Selenium

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:

Installer Maven og brug den med TestNG Selenium

Trin 10) Eclipse vil oprette NewTest-klassen som vist på følgende skærmbillede:

Installer Maven og brug den med TestNG Selenium

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:

Installer Maven og brug den med TestNG Selenium

Opdater projektet, og sørg for, at filen vises i træet Pakke Explorer (højreklik på projektet – Opdater).

Installer Maven og brug den med TestNG Selenium

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.

Installer Maven og brug den med TestNG Selenium

Sørg for, at byggeprocessen afsluttes korrekt.

Trin 14) Derudover skal vi tilføje

  1. maven-compiler-plugin
  2. maven-surefire-plugin
  3. 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:

Installer Maven og brug den med TestNG Selenium

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.

Installer Maven og brug den med TestNG Selenium

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.

Integration af Jenkins Med Selenium webdriver

Trin 2) Unzip Jenkins til en bestemt mappe. Kør exe-filen som vist på følgende skærmbillede:

Integration af Jenkins Med Selenium webdriver

Trin 3) I Jenkins Opsætning Klik på vinduet Næste .

Integration af Jenkins Med Selenium webdriver

Trin 4) Klik på Installer knappen til sidst.

Integration af Jenkins Med Selenium webdriver

Trin 5) Når installationen er færdig, skal du navigere til Jenkins Dashboard (standardindstillingen er http://localhost:8080) i browservinduet.

Integration af Jenkins Med Selenium webdriver

Trin 6) Klik på Ny vare link for at oprette et CI-job.

Integration af Jenkins Med Selenium webdriver

Trin 7) Vælg radioknappen Maven-projektet som vist på følgende skærmbillede:

Integration af Jenkins Med Selenium webdriver

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.

Integration af Jenkins Med Selenium webdriver

Trin 9) Gå til Administrer Jenkins => Konfigurer system som vist i det følgende skærmbillede.

Integration af Jenkins Med Selenium webdriver

Klik på JDK installationer og konfigurer JDK som i følgende skærmbillede:

Integration af Jenkins Med Selenium WebDrive

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"

Integration af Jenkins Med Selenium webdriver

Trin 11) Klik på Ansøg .

Integration af Jenkins Med Selenium webdriver

Trin 12) På WebdriverTest-projektsiden skal du klikke på Byg nu .

Integration af Jenkins Med Selenium webdriver

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.

Integration af Jenkins Med Selenium webdriver

Trin 14) WebdriverTest-projektsiden viser byggehistorikken og links til resultaterne som vist på følgende skærmbillede:

Integration af Jenkins Med Selenium webdriver

Trin 15) Klik på linket "Seneste testresultat" for at se testresultaterne som vist på følgende skærmbillede:

Integration af Jenkins Med Selenium webdriver

Trin 16) Vælg et specifikt build, og du vil se den aktuelle status ved at klikke på “konsoludgang".

Integration af Jenkins Med Selenium webdriver

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

Jenkins til automatisk udførelse

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

Jenkins til automatisk udførelse

  • 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:

Jenkins til automatisk udførelse

Fordelene ved at bruge Jenkins

  1. Tidlig problemfinding – fejl kan opdages i den tidlige fase af softwareudviklingen.
  2. Automatisk integration – ingen separat indsats kræves for at integrere alle ændringer.
  3. Installationsprogram – et implementerbart system, der er tilgængeligt på ethvert udviklingspunkt.
  4. Registreringer – tidligere byggeregistre vedligeholdes.
  5. 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.

Ofte Stillede Spørgsmål

Maven administrerer afhængigheder og byggelivscyklussen, Selenium driver browseren, og Jenkins orkestrerer udførelsen. Sammen danner de en komplet CI-pipeline, der kompilerer kode, downloader nødvendige JAR-filer, kører Selenium tests og udgiver automatisk rapporter om hver commit.

Brug Maven 3.x til afhængigheds- og buildstyring, og Jenkins LTS til stabil kontinuerlig integration. Disse versioner tilbyder langsigtet support, sikkerhedsrettelser og bred plugin-kompatibilitet til Selenium WebDriver, TestNGog Surefire-rapporteringsplugins.

Ja. Jenkins bruger cron-stil syntaks i afsnittet Build Triggers til at planlægge Selenium suiter. For eksempel kører 0 23 * * * suiten hver aften kl. 11. Jenkins kan også udløse builds på SCM-afstemnings- eller webhook-hændelser.

AI-drevne Jenkins Plugins forudsiger ustabile tests, automatisk finjusterer build-agenter og registrerer uregelmæssigheder i konsollogfiler. De reducerer pipeline-støj, accelererer feedback og foreslår optimal parallelisering, hvilket holder Selenium suiter pålidelige efterhånden som testantallet vokser til tusindvis.

Ja. AI-baseret testkonsekvensanalyse kortlægger kodeændringer til berørte Selenium scenarier og kører kun den relevante delmængde i JenkinsDette forkorter feedbackcyklusser, reducerer infrastrukturomkostninger og bevarer fuld dækning ved at planlægge en komplet regression på natlige builds.

Opsummer dette indlæg med: