Selenium Integratie met Maven en Jenkins

⚡ Slimme samenvatting

Maven Jenkins Selenium Integratie creëert een geautomatiseerde continue testpipeline waarin Maven projectafhankelijkheden en de levenscyclus beheert. Jenkins plant en activeert builds, en Selenium Voert browsertests uit en produceert herhaalbare, betrouwbare en schaalbare end-to-end webautomatisering.

  • ???? Maven-rol: Maven 3.x beheert afhankelijkheden, de build-levenscyclus en plugins via pom.xml, waardoor handmatige JAR-verwerking overbodig wordt. Selenium projecten.
  • 🔁 Jenkins Rol: Jenkins LTS-schema's Selenium suites, monitort SCM-wijzigingen en activeert geautomatiseerde regressietests bij elke commit of nachtelijke cron-taak.
  • 🚀 Stroom van pijpleidingen: Maven combineren, Jenkins, Seleniumen TestNG Dit vormt een complete CI/CD-loop die defecten binnen enkele minuten na een codewijziging opspoort.
  • ✅ Rapportage: Betrouwbare rapporten plus Jenkins bouwgeschiedenis geven tracInzichtelijke, deelbare testresultaten met console-uitvoer en HTML-dashboards.
  • 🧪 AI-verbetering: Moderne AI-plugins geven prioriteit aan tests die hierdoor worden beïnvloed, voorspellen onbetrouwbare gevallen en verkleinen de testomvang. Jenkins feedbackcycli binnenin Selenium pijpleidingen.

Maven & Jenkins Integratie met Selenium

Wat is Jenkins in Selenium?

Jenkins is de toonaangevende open-source tool voor continue integratie, oorspronkelijk ontwikkeld door het Hudson Lab. Het is platformonafhankelijk en draait op Windows, Linux, macOSen Solaris omgevingen. Jenkins is geschreven in Java en wordt nu gedistribueerd als Jenkins LTS is bedoeld voor stabiel gebruik in een productieomgeving. Het wordt voornamelijk gebruikt om taken te monitoren, zoals een SCM-checkout, een cron-schema of de status van een applicatie. Jenkins Activeert vooraf geconfigureerde acties wanneer een specifieke stap in taken plaatsvindt.

Belangrijke kenmerken van Jenkins

  • Ondersteuning voor wijzigingen: Jenkins Genereert een lijst van alle wijzigingen die zijn aangebracht in repositories zoals Git of SVN.
  • Permanente links: Jenkins Biedt directe links naar de meest recente build of de laatst mislukte build, wat de communicatie binnen het team vereenvoudigt.
  • Installatie: Jenkins De installatie is eenvoudig met behulp van een native installatieprogramma, een WAR-bestand dat op een applicatieserver wordt geïmplementeerd, of een Docker-image.
  • E-mailintegratie: Jenkins Kan zo geconfigureerd worden dat de inhoud en status van elke build per e-mail worden verzonden.
  • Eenvoudige configuratie: Het configureren van diverse taken op Jenkins Dit is eenvoudig via het webdashboard.
  • TestNG Test: Jenkins kan worden geconfigureerd om de automatiseringstestbuild uit te voeren op TestNG na elke commit naar de repository.
  • Meerdere VM's: Jenkins Builds kunnen over meerdere agentmachines worden verdeeld.
  • Projectopbouw: Jenkins documenteert de details van JAR-bestanden, JAR-versies en de kaart.ping van buildnummers naar artefacten.
  • Plugins: 3rd Party-plugins kunnen worden toegevoegd in Jenkins om functies en extra functionaliteit uit te breiden.

Waarom Jenkins en Selenium?

  • Hardlopen Selenium tests in Jenkins Hiermee kunt u uw tests uitvoeren telkens wanneer de software verandert en de software naar een nieuwe omgeving implementeren wanneer de tests slagen.
  • Jenkins kan uw afspraak inplannen Selenium Tests die op een specifiek tijdstip moeten worden uitgevoerd.
  • U kunt de uitvoeringsgeschiedenis en testrapporten opslaan voor traceability.
  • Jenkins ondersteunt Maven voor het bouwen en Testen een project in continue integratie.

Waar zit Maven in? Selenium?

Maven is een krachtige tool voor project- en buildbeheer, gebaseerd op het concept van een POM (Project Object Model). Dit model bevat projectinformatie en configuratiegegevens voor Maven, zoals de builddirectory, sourcedirectory, afhankelijkheden, testsourcedirectory, doelen, plugins en meer. Maven 3.x is de huidige stabiele versie en wordt veelvuldig gebruikt. Selenium testframeworks.

Waarom Maven en Jenkins

Selenium WebDriver is geweldig voor browserautomatisering. Maar bij het testen en het bouwen van een testframework kan het wat ondermaats aanvoelen. Integratie van Maven met Selenium biedt de volgende voordelen.
Apache Maven biedt ondersteuning bij het beheren van de volledige levenscyclus van een testproject.

  • Maven wordt gebruikt om de projectstructuur, afhankelijkheden, build en testbeheer te definiëren.
  • Met behulp van pom.xml (Maven) kunt u de afhankelijkheden configureren die nodig zijn voor het bouwen, testen en uitvoeren van code.
  • Maven downloadt tijdens het bouwen van het project automatisch de benodigde bestanden uit de centrale repository.

Hoe Maven te installeren en te gebruiken met TestNG Selenium

Hieronder volgen de stappen om Maven te installeren en te gebruiken. TestNG Selenium.

Voor deze tutorial zullen we gebruiken Eclipse (Juno) IDE voor Java Ontwikkelaars om de installatie te verzorgen Selenium WebDriver-project. Daarnaast moeten we de m2eclipse-plugin toevoegen aan... Eclipse om het bouwproces te vergemakkelijken en het pom.xml-bestand te creëren.
Laten we de m2eclipse-plugin toevoegen aan Eclipse met de volgende stappen:

Stap 1) In Eclipse IDE, selecteer Help | Installeer nieuwe software aan de hand van de Eclipse hoofdmenu.

Stap 2) Voer in het installatiedialoogvenster het volgende in: URL https://www.eclipse.org/m2e/. Kiezen Werk met en de m2e-plugin zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 3) Klik op de Volgende Klik op de knop en voltooi de installatie.

Configure Eclipse met Maven

Nu de m2e-plugin is geïnstalleerd, moeten we een Maven-project aanmaken.

Stap 1) In Eclipse IDE, maak een nieuw project door te selecteren Dien in | Nieuwe | Overige aan de hand van de Eclipse menu.

Stap 2) Op de Nieuwe dialoogvenster, selecteer Maven | Maven-project en klik op Volgende.

Installeer Maven en gebruik het met TestNG Selenium

Stap 3) Op de Nieuw Maven-project dialoog selecteren Maak een eenvoudig project en klik op Volgende.

Installeer Maven en gebruik het met TestNG Selenium

Stap 4) Voer WebdriverTest in Groeps-ID: en Artefact-ID: en klik op Voltooien.

Installeer Maven en gebruik het met TestNG Selenium

Stap 5) Eclipse zal maken WebdriverTest met de volgende opbouw:

Installeer Maven en gebruik het met TestNG Seleniuml

Stap 6) Klik met de rechtermuisknop op JRE-systeembibliotheek in en selecteer het Aanbod optie uit het menu.

Installeer Maven en gebruik het met TestNG Selenium

Op de Eigenschappen voor JRE-systeembibliotheek dialoogvenster, zorg ervoor Standaard-JRE van de werkruimte is geselecteerd en klik op OK.

Installeer Maven en gebruik het met TestNG Selenium

Stap 7) Selecteren pom.xml vanaf Projectverkenner.

Installeer Maven en gebruik het met TestNG Selenium

Het pom.xml-bestand wordt geopend in het gedeelte Editor.

Installeer Maven en gebruik het met TestNG Selenium

Stap 8) Voeg de Selenium, Maven, TestNGen JUnit afhankelijkheden van pom.xml in de knooppunt:

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

Stap 9) Maak een nieuw TestNG Klasse. Voer de pakketnaam in als "example" en "NewTest" in de Naam: tekstvak en klik op de Finish knop zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 10) Eclipse zal de klasse NewTest aanmaken zoals getoond in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 11) Voeg de volgende code toe aan de NieuwTest klasse. Deze code controleert de titel van de Guru99 Selenium pagina.

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

Stap 12) Klik met de rechtermuisknop op het WebdriverTest-project en selecteer TestNG | Omzetten naar TestNG.
Eclipse Hiermee wordt een testng.xml-bestand aangemaakt waarin staat dat je slechts één test met de naam moet uitvoeren. NieuwTest zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Werk het project bij en zorg ervoor dat het bestand in de projectstructuur verschijnt. Pakketverkenner (klik met de rechtermuisknop op het project – Vernieuwen).

Installeer Maven en gebruik het met TestNG Selenium

Stap 13) Nu moet je de test via dit proces uitvoeren. testenng.xml.

Dus, ga naar de Configuraties uitvoeren en maak een nieuwe lancering TestNG, selecteer het project, stel het veld in Suite as testenng.xmlen klik op Uitvoeren.

Installeer Maven en gebruik het met TestNG Selenium

Zorg ervoor dat de bouw succesvol wordt afgerond.

Stap 14) Daarnaast moeten we het volgende toevoegen

  1. maven-compiler-plug-in
  2. maven-surefire-plug-in
  3. testenng.xml

naar pom.xml.

De maven-surefire-plugin wordt gebruikt om tests te configureren en uit te voeren. Hier wordt de plugin gebruikt om het testing.xml-bestand te configureren voor de test. TestNG testen en testrapporten genereren.

De maven-compiler-plugin wordt gebruikt om de code te compileren en een specifieke JDK-versie te gebruiken voor de compilatie. Voeg alle afhankelijkheden in het volgende codefragment toe aan pom.xml in de knooppunt:

Installeer Maven en gebruik het met TestNG Selenium

Stap 15) Om de tests in de Maven-levenscyclus uit te voeren, klikt u met de rechtermuisknop op het WebdriverTest-project en selecteert u Rennen als | Maven-testMaven voert de test uit vanuit het project.

Installeer Maven en gebruik het met TestNG Selenium

Zorg ervoor dat de bouw succesvol wordt afgerond.

Hoe te integreren Jenkins with Selenium webdriver

Hier zijn de stappen om te installeren Jenkins LTS en configureer het om Maven uit te voeren met TestNG Selenium.

Montage

Stap 1) Ga naar https://www.jenkins.io/download/ en download de juiste Jenkins LTS-pakket voor uw besturingssysteem installeren. Jenkins.

Integratie van Jenkins Met Selenium webdriver

Stap 2) Unzip Jenkins naar een opgegeven map. Voer het .exe-bestand uit zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 3) In de Jenkins Setup venster, klik op de Volgende knop.

Integratie van Jenkins Met Selenium webdriver

Stap 4) Klik op de Install knop aan het einde.

Integratie van Jenkins Met Selenium webdriver

Stap 5) Zodra de installatie is voltooid, ga naar de Jenkins Het dashboard (standaard http://localhost:8080) wordt in het browservenster weergegeven.

Integratie van Jenkins Met Selenium webdriver

Stap 6) Klik op de Nieuw item koppeling om een ​​CI-taak te maken.

Integratie van Jenkins Met Selenium webdriver

Stap 7) Selecteer het keuzerondje voor het Maven-project, zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Met behulp van de build a Maven-project keuze, Jenkins Ondersteunt het bouwen en testen van Maven-projecten.

Stap 8) Klik op de OK-knop. Er wordt een nieuwe taak met de naam "WebdriverTest" aangemaakt. Jenkins Dashboard.

Integratie van Jenkins Met Selenium webdriver

Stap 9) Ga naar Beheren Jenkins => Systeem configureren zoals weergegeven in de volgende schermafbeelding.

Integratie van Jenkins Met Selenium webdriver

Klik op JDK-installaties en configureer JDK zoals in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium WebDrive

Stap 10) Ga naar uw Bouw onderdeel van de nieuwe baan.

  • In de Wortel POM Voer in het tekstvak het volledige pad naar pom.xml in.
  • Voer in het gedeelte 'Doelen en opties' 'schone test' in.

Integratie van Jenkins Met Selenium webdriver

Stap 11) Klik op de Toepassen knop.

Integratie van Jenkins Met Selenium webdriver

Stap 12) Op de WebdriverTest-projectpagina klikt u op de Bouwen Nu link.

Integratie van Jenkins Met Selenium webdriver

Maven zal het project bouwen. Dat zal dan wel het geval zijn TestNG voer de testgevallen uit.

Stap 13) Zodra het bouwproces is voltooid, in de Jenkins Dashboard, klik op de WebdriverTest project.

Integratie van Jenkins Met Selenium webdriver

Stap 14) Op de projectpagina van WebdriverTest worden de buildgeschiedenis en links naar de resultaten weergegeven, zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 15) Klik op de link ‘Laatste testresultaat’ om de testresultaten te bekijken zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 16) Selecteer een specifieke build en u kunt de huidige status bekijken door op " te klikken" te klikken.console-uitvoer'.

Integratie van Jenkins Met Selenium webdriver

Scheduling Jenkins voor automatische uitvoering

Het inplannen van builds (Selenium tests) is een van de belangrijke kenmerken van Jenkinswaarbij de build automatisch wordt geactiveerd op basis van vooraf gedefinieerde criteria. Jenkins Biedt meerdere manieren om het bouwproces te starten onder de configuratie 'Build Trigger'.

Bijvoorbeeld:
Voer 0 23 * * * in het tekstvak Schedule in, zoals weergegeven in de volgende schermafbeelding. Dit zal het buildproces elke dag om 11:XNUMX uur activeren

Jenkins voor automatische uitvoering

gebruik Jenkins zonder Maven

Om een ​​pure te draaien TestNG schrift erin JenkinsVoer het volgende in bij build:

D:>java -cp “Padtolibmap\lib\*;Padtobinmap\bin” org.testng.TestNG testenng.xml

Jenkins voor automatische uitvoering

  • Klik op de knop Opslaan.
  • Let op: het daadwerkelijke pad naar de mappen lib en bin moet in de bovenstaande opdracht worden toegevoegd.
  • Na het opslaan van de opdracht, Jenkins Het project wordt op het vooraf ingestelde tijdstip gebouwd en deze opdracht wordt uitgevoerd met TestNG.
  • Het resultaat wordt opgeslagen in een aangepast HTML-rapportbestand dat per e-mail kan worden verzonden. Jenkins configuratie.
  • De uitvoer van de code zal zijn:

Jenkins voor automatische uitvoering

Voordelen van het gebruik Jenkins

  1. Vroegtijdige probleemopsporing – bugs kunnen al in een vroeg stadium van de softwareontwikkeling worden gedetecteerd.
  2. Automatische integratie – er is geen aparte inspanning nodig om alle wijzigingen te integreren.
  3. Installer – een inzetbaar systeem dat op elk moment tijdens de ontwikkeling beschikbaar is.
  4. Archief – eerdere bouwgegevens worden bewaard.
  5. Ondersteuning en plug-ins – een van de redenen voor JenkinsDe populariteit van het programma is te danken aan de grote community die het ondersteunt. Er zijn ook veel kant-en-klare plugins beschikbaar waarmee je de functionaliteit kunt uitbreiden.

Veelgestelde vragen

Maven beheert afhankelijkheden en de build-levenscyclus. Selenium stuurt de browser aan, en Jenkins orkestreert de uitvoering. Samen vormen ze een complete CI-pipeline die code compileert, de benodigde JAR-bestanden downloadt en de code uitvoert. Selenium Het systeem voert tests uit en publiceert automatisch rapporten bij elke commit.

Gebruik Maven 3.x voor het beheer van afhankelijkheden en builds, en Jenkins LTS staat voor stabiele continue integratie. Deze versies bieden langdurige ondersteuning, beveiligingspatches en brede plug-incompatibiliteit. Selenium WebDriver, TestNGen Surefire-rapportageplugins.

Ja. Jenkins Gebruikt een cron-achtige syntaxis in het gedeelte 'Build Triggers' om taken in te plannen. Selenium suites. Bijvoorbeeld, 0 23 * * * voert de suite elke avond om 23:00 uur uit. Jenkins Builds kunnen ook worden geactiveerd op basis van SCM-polling of webhook-gebeurtenissen.

AI-powered Jenkins Plugins voorspellen onbetrouwbare tests, optimaliseren automatisch build-agents en detecteren afwijkingen in consolelogs. Ze verminderen ruis in de pipeline, versnellen feedback en suggereren optimale parallelisatie, wat zorgt voor een efficiëntere werking. Selenium De suites blijven betrouwbaar, zelfs wanneer het aantal tests in de duizenden loopt.

Ja. AI-gebaseerde testimpactanalyse brengt codewijzigingen in kaart en koppelt ze aan de getroffen gebieden. Selenium scenario's en voert alleen de relevante subset uit in JenkinsDit verkort de feedbackcycli, verlaagt de infrastructuurkosten en behoudt volledige dekking door een complete regressietest in te plannen tijdens de nachtelijke builds.

Vat dit bericht samen met: