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: