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) Pรฅ Nytt dialogrutan, vรคlj Maven | Maven-projektet och klicka pรฅ Nรคsta.

Installera Maven och anvรคnd den med TestNG Selenium

Steg 3) Pรฅ 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

Pรฅ 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: