Selenium Integration med Maven och Jenkins

⚡ Smart sammanfattning

Maven Jenkins Selenium Integrationen skapar en automatiserad pipeline för kontinuerlig testning där Maven hanterar projektberoenden och livscykel, Jenkins schemalägger och utlöser byggen, och Selenium utför webbläsartester och producerar repeterbar, pålitlig och skalbar heltäckande webbautomation.

  • 📦 Maven-roll: Maven 3.x hanterar beroenden, bygglivscykel och plugins via pom.xml, vilket tar bort manuell JAR-hantering för Selenium projekt.
  • 🔁 Jenkins Roll: Jenkins LTS-scheman Selenium suites, övervakar SCM-ändringar och utlöser automatiserade regressionskörningar vid varje commit eller nattlig cron.
  • 🚀 Rörledningskraft: Kombinera Maven, Jenkins, Seleniumoch TestNG bildar en komplett CI/CD-slinga som upptäcker defekter inom några minuter efter kodändring.
  • Rapportering: Surefire rapporterar plus Jenkins bygga historia ge tracmöjliga, delbara testresultat med konsolutdata och HTML-instrumentpaneler.
  • 🧪 AI-förbättring: Moderna AI-plugins prioriterar påverkade tester, förutspår osäkra fall och krymper Jenkins återkopplingscykler inuti Selenium rörledningar.

Maven & Jenkins Integration med Selenium

Vad är Jenkins in Selenium?

Jenkins är det ledande verktyget för kontinuerlig integration med öppen källkod, ursprungligen utvecklat av Hudson-labbet. Det är plattformsoberoende och körs på Windows, Linux, macOSoch Solaris miljöer. Jenkins är skriven i Java och distribueras nu som Jenkins LTS för stabil produktionsanvändning. Dess huvudsakliga användning är att övervaka alla jobb, vilket kan vara en SCM-utcheckning, ett cron-schema eller vilket applikationstillstånd som helst. Jenkins utlöser förkonfigurerade åtgärder när ett specifikt steg inträffar i jobb.

Viktiga funktioner hos Jenkins

  • Ändra support: Jenkins genererar en lista över alla ändringar som gjorts i repositories som Git eller SVN.
  • Permanenta länkar: Jenkins ger direkta länkar till den senaste versionen eller den senast misslyckade versionen, vilket förenklar teamkommunikationen.
  • Installation: Jenkins är enkel att installera med hjälp av ett inbyggt installationsprogram, en WAR-fil som är distribuerad på en applikationsserver eller en Docker-avbildning.
  • E-postintegrering: Jenkins kan konfigureras för att skicka innehåll och status för varje byggprocess via e-post.
  • Enkel konfiguration: Konfigurera olika uppgifter på Jenkins är enkelt via webbpanelen.
  • TestNG Test: Jenkins kan konfigureras för att köra automatiseringstestet TestNG efter varje commit till repositoriet.
  • Flera virtuella datorer: Jenkins kan distribuera byggen över flera agentmaskiner.
  • Projektbygge: Jenkins dokumenterar detaljerna för JAR-filer, JAR-versioner och kartanping av byggnummer till artefakter.
  • Plugins: 3rd party-plugins kan läggas till i Jenkins för att utöka funktioner och ytterligare funktionalitet.

Varför Jenkins och Selenium?

  • Springa Selenium tester i Jenkins låter dig köra dina tester varje gång programvaran ändras och distribuera programvaran till en ny miljö när testerna är godkända.
  • Jenkins kan schemalägga din Selenium tester som ska köras vid en specifik tidpunkt.
  • Du kan spara körningshistoriken och testrapporterna för tracförmåga.
  • Jenkins stöder Maven för att bygga och Testning ett projekt i kontinuerlig integration.

Vad är Maven i Selenium?

Maven är ett kraftfullt projekt- och bygghanteringsverktyg baserat på konceptet med en POM (Project Object Model) som inkluderar projektinformation och konfigurationsdata för Maven, såsom byggkatalog, källkatalog, beroenden, testkällkatalog, mål, plugins och mer. Maven 3.x är den nuvarande stabila linjen, som används flitigt över hela ... Selenium testramverk.

Varför Maven och Jenkins

Selenium WebDriver är utmärkt för webbläsarautomation. Men när man använder det för testning och byggande av ett testramverk kan det kännas undermåligt. Integrering av Maven med Selenium ger följande fördelar.
Apache Maven ger stöd för att hantera hela livscykeln för ett testprojekt.

  • Maven används för att definiera projektstruktur, beroenden, build och testhantering.
  • Med hjälp av pom.xml (Maven) kan du konfigurera beroenden som behövs för att bygga, testa och köra kod.
  • Maven laddar automatiskt ner nödvändiga filer från det centrala arkivet medan projektet bygger.

Hur man installerar Maven och använder den med TestNG Selenium

Här är stegen för att installera Maven och använda det med TestNG Selenium.

För den här handledningen kommer vi att använda Eclipse (Juno) IDE för Java Utvecklare att ställa in Selenium WebDriver-projektet. Dessutom behöver vi lägga till m2eclipse-pluginet till Eclipse för att underlätta byggprocessen och skapa pom.xml-filen.
Låt oss lägga till m2eclipse-pluginet till Eclipse med följande steg:

Steg 1) In Eclipse IDE, välj Hjälp | Installera ny programvara från Eclipse huvudmeny.

Steg 2) I installationsdialogrutan anger du URL https://www.eclipse.org/m2e/. Välj Arbeta med och m2e-pluginet som visas i följande skärmdump:

Installera Maven och använd den med TestNG Selenium

Steg 3) Klicka på Nästa knappen och slutför installationen.

Inställd Eclipse med Maven

Med m2e-pluginet installerat behöver vi nu skapa ett Maven-projekt.

Steg 1) In Eclipse IDE, skapa ett nytt projekt genom att välja Fil | Nytt | Övrigt från Eclipse meny.

Steg 2)Nytt dialogrutan, välj Maven | Maven-projektet och klicka på Nästa.

Installera Maven och använd den med TestNG Selenium

Steg 3)Nytt Maven-projekt dialogval Skapa ett enkelt projekt och klicka på Nästa.

Installera Maven och använd den med TestNG Selenium

Steg 4) Ange WebdriverTest i Grupp-ID: och Artefakt-ID: och klicka på slutför.

Installera Maven och använd den med TestNG Selenium

Steg 5) Eclipse kommer skapa WebdriverTest med följande struktur:

Installera Maven och använd den med TestNG Seleniuml

Steg 6) Högerklicka på JRE Systembibliotek och välj Våra Bostäder alternativet från menyn.

Installera Maven och använd den med TestNG Selenium

Egenskaper för JRE System Library dialogrutan, se till Arbetsyta standard JRE är valt och klicka på OK.

Installera Maven och använd den med TestNG Selenium

Steg 7) Välja pom.xml från Project Explorer.

Installera Maven och använd den med TestNG Selenium

pom.xml-filen öppnas i redigeringsavsnittet.

Installera Maven och använd den med TestNG Selenium

Steg 8) Lägg till Selenium, Maven, TestNGoch JUnit beroenden till pom.xml i nod:

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

Steg 9) Skapa en ny TestNG Klass. Ange paketnamnet som ”example” och ”NewTest” i Namn : textrutan och klicka på Finish knappen som visas i följande skärmdump:

Installera Maven och använd den med TestNG Selenium

Steg 10) Eclipse kommer att skapa NewTest-klassen som visas i följande skärmdump:

Installera Maven och använd den med TestNG Selenium

Steg 11) Lägg till följande kod till Nytt test klass. Denna kod verifierar titeln på Guru99 Selenium sida.

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();			
		}		
}	

Steg 12) Högerklicka på WebdriverTest-projektet och välj TestNG | Konvertera till TestNG.
Eclipse skapar testng.xml som anger att du bara behöver köra ett test med namnet Nytt test som visas i följande skärmdump:

Installera Maven och använd den med TestNG Selenium

Uppdatera projektet och se till att filen visas i trädet Paketutforskare (högerklicka på projektet – Uppdatera).

Installera Maven och använd den med TestNG Selenium

Steg 13) Nu måste du köra testet genom detta testng.xml.

Så gå till Kör konfigurationer och skapa en ny lansering TestNG, välj projektet, ange fältet Suite as testng.xmloch klicka på Kör.

Installera Maven och använd den med TestNG Selenium

Se till att bygget slutförs utan problem.

Steg 14) Dessutom behöver vi lägga till

  1. maven-kompilator-plugin
  2. maven-surefire-plugin
  3. testng.xml

till pom.xml.

Pluginet maven-surefire används för att konfigurera och köra tester. Här används pluginet för att konfigurera testing.xml för TestNG testa och generera testrapporter.

maven-compiler-plugin används för att kompilera koden och för att använda en specifik JDK-version för kompilering. Lägg till alla beroenden i följande kodavsnitt till pom.xml i nod:

Installera Maven och använd den med TestNG Selenium

Steg 15) För att köra testerna i Maven-livscykeln, högerklicka på WebdriverTest-projektet och välj Spring som | Maven testMaven kommer att utföra testet från projektet.

Installera Maven och använd den med TestNG Selenium

Se till att bygget slutförs utan problem.

Hur man integrerar Jenkins med Selenium webbdrivrutin

Här är stegen för att installera Jenkins LTS och konfigurera det för att köra Maven med TestNG Selenium.

Installation

Steg 1) Gå till https://www.jenkins.io/download/ och ladda ner rätt Jenkins LTS-paket för ditt operativsystem. Installera Jenkins.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 2) Packa Jenkins till en angiven mapp. Kör exe-filen som visas på följande skärmdump:

Integration av Jenkins Med Selenium webbdrivrutin

Steg 3) I Jenkins Inställning fönster, klicka på Nästa knapp.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 4) Klicka på installera knappen i slutet.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 5) När installationen är klar, navigera till Jenkins Instrumentpanelen (http://localhost:8080 som standard) i webbläsarfönstret.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 6) Klicka på Nytt objekt länk för att skapa ett CI-jobb.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 7) Välj alternativknappen för Maven-projektet som visas i följande skärmdump:

Integration av Jenkins Med Selenium webbdrivrutin

Använda Build a Maven-projektet alternativ, Jenkins stöder byggande och testning av Maven-projekt.

Steg 8) Klicka på OK-knappen. Ett nytt jobb med namnet ”WebdriverTest” skapas i Jenkins Instrumentbräda.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 9) Gå till hantera Jenkins => Konfigurera system som visas i följande skärmdump.

Integration av Jenkins Med Selenium webbdrivrutin

Klicka på JDK-installationer och konfigurera JDK som i följande skärmdump:

Integration av Jenkins Med Selenium WebDrive

Steg 10) Gå till Bygga delen av det nya jobbet.

  • I Root POM textruta, ange den fullständiga sökvägen till pom.xml
  • I avsnittet Mål och alternativ anger du "rent test".

Integration av Jenkins Med Selenium webbdrivrutin

Steg 11) Klicka på Ansök knapp.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 12) På projektsidan för WebdriverTest klickar du på Bygg nu länken.

Integration av Jenkins Med Selenium webbdrivrutin

Maven kommer att bygga projektet. Det kommer det då att ha TestNG utföra testfallen.

Steg 13) När byggprocessen är klar, i Jenkins Klicka på instrumentpanelen WebdriverTest projektet.

Integration av Jenkins Med Selenium webbdrivrutin

Steg 14) WebdriverTest-projektsidan visar bygghistoriken och länkar till resultaten som visas i följande skärmdump:

Integration av Jenkins Med Selenium webbdrivrutin

Steg 15) Klicka på länken "Senaste testresultat" för att se testresultaten som visas i följande skärmdump:

Integration av Jenkins Med Selenium webbdrivrutin

Steg 16) Välj en specifik version så ser du aktuell status genom att klicka på “konsolutgång".

Integration av Jenkins Med Selenium webbdrivrutin

Schemaläggning Jenkins för automatisk exekvering

Schemalägger byggnationer (Selenium tester) är en av de viktiga funktionerna hos Jenkins, där den automatiskt utlöser bygget baserat på definierade kriterier. Jenkins tillhandahåller flera sätt att utlösa byggprocessen under konfigurationen för byggutlösare.

Till exempel:
Ange 0 23 * * * i textrutan Schema som visas i följande skärmdump. Detta kommer att utlösa byggprocessen varje dag kl. 11

Jenkins för automatisk exekvering

Använda Jenkins utan Maven

Att köra en ren TestNG manus i Jenkins, ange följande i build:

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml

Jenkins för automatisk exekvering

  • Klicka på Spara-knappen.
  • Obs: Den faktiska sökvägen till mapparna lib och bin måste läggas till i kommandot ovan.
  • Efter att ha sparat kommandot, Jenkins kommer att bygga projektet vid den fördefinierade tiden, och detta kommando kommer att köras med TestNG.
  • Resultatet lagras i en anpassad HTML-rapportfil som kan skickas via e-post med hjälp av en Jenkins konfiguration.
  • Kodens utdata blir:

Jenkins för automatisk exekvering

Fördelarna med att använda Jenkins

  1. Tidig problemupptäckt – buggar kan upptäckas i den tidiga fasen av programvaruutvecklingen.
  2. Automatisk integration – ingen separat ansträngning krävs för att integrera alla ändringar.
  3. Installationsprogram – ett driftsättbart system som är tillgängligt när som helst i utvecklingen.
  4. Register – tidigare byggregister bevaras.
  5. Support och plugins – en av anledningarna till Jenkinss popularitet ligger i tillgången till ett stort community-stöd. Det finns också många färdiga plugins som hjälper dig att utöka dess funktionalitet.

Vanliga frågor

Maven hanterar beroenden och bygglivscykeln, Selenium driver webbläsaren, och Jenkins orkestrerar exekveringen. Tillsammans bildar de en komplett CI-pipeline som kompilerar kod, laddar ner nödvändiga JAR-filer, kör Selenium tester och publicerar rapporter automatiskt vid varje commit.

Använd Maven 3.x för beroende- och bygghantering, och Jenkins LTS för stabil kontinuerlig integration. Dessa versioner erbjuder långsiktigt stöd, säkerhetsuppdateringar och bred plugin-kompatibilitet för Selenium Webbdrivrutin, TestNGoch Surefire-rapporterings-plugins.

Ja. Jenkins använder cron-stilsyntax i avsnittet Bygg utlösare för att schemalägga Selenium sviter. Till exempel, 0 23 * * * kör sviten varje kväll klockan 11 Jenkins kan också utlösa byggen på SCM-omröstning eller webhook-händelser.

AI-powered Jenkins plugins förutsäger ojämna tester, automatiskt justerar byggagenter och upptäcker avvikelser i konsolloggar. De minskar pipelinebrus, accelererar feedback och föreslår optimal parallellisering, vilket håller Selenium sviter tillförlitliga i takt med att testantalet växer till tusentals.

Ja. AI-baserad testkonsekvensanalys kartlägger kodändringar till berörda Selenium scenarier och kör endast den relevanta delmängden i JenkinsDetta förkortar feedbackcyklerna, minskar infrastrukturkostnaderna och bevarar fullständig täckning genom att schemalägga en fullständig regression på nattliga byggen.

Sammanfatta detta inlägg med: