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.

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:
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.
Stap 3) Op de Nieuw Maven-project dialoog selecteren Maak een eenvoudig project en klik op Volgende.
Stap 4) Voer WebdriverTest in Groeps-ID: en Artefact-ID: en klik op Voltooien.
Stap 5) Eclipse zal maken WebdriverTest met de volgende opbouw:
Stap 6) Klik met de rechtermuisknop op JRE-systeembibliotheek in en selecteer het Aanbod optie uit het menu.
Op de Eigenschappen voor JRE-systeembibliotheek dialoogvenster, zorg ervoor Standaard-JRE van de werkruimte is geselecteerd en klik op OK.
Stap 7) Selecteren pom.xml vanaf Projectverkenner.
Het pom.xml-bestand wordt geopend in het gedeelte Editor.
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:
Stap 10) Eclipse zal de klasse NewTest aanmaken zoals getoond in de volgende schermafbeelding:
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:
Werk het project bij en zorg ervoor dat het bestand in de projectstructuur verschijnt. Pakketverkenner (klik met de rechtermuisknop op het project – Vernieuwen).
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.
Zorg ervoor dat de bouw succesvol wordt afgerond.
Stap 14) Daarnaast moeten we het volgende toevoegen
- maven-compiler-plug-in
- maven-surefire-plug-in
- 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:
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.
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.
Stap 2) Unzip Jenkins naar een opgegeven map. Voer het .exe-bestand uit zoals weergegeven in de volgende schermafbeelding:
Stap 3) In de Jenkins Setup venster, klik op de Volgende knop.
Stap 4) Klik op de Install knop aan het einde.
Stap 5) Zodra de installatie is voltooid, ga naar de Jenkins Het dashboard (standaard http://localhost:8080) wordt in het browservenster weergegeven.
Stap 6) Klik op de Nieuw item koppeling om een CI-taak te maken.
Stap 7) Selecteer het keuzerondje voor het Maven-project, zoals weergegeven in de volgende schermafbeelding:
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.
Stap 9) Ga naar Beheren Jenkins => Systeem configureren zoals weergegeven in de volgende schermafbeelding.
Klik op JDK-installaties en configureer JDK zoals in de volgende schermafbeelding:
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.
Stap 11) Klik op de Toepassen knop.
Stap 12) Op de WebdriverTest-projectpagina klikt u op de Bouwen Nu link.
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.
Stap 14) Op de projectpagina van WebdriverTest worden de buildgeschiedenis en links naar de resultaten weergegeven, zoals weergegeven in de volgende schermafbeelding:
Stap 15) Klik op de link ‘Laatste testresultaat’ om de testresultaten te bekijken zoals weergegeven in de volgende schermafbeelding:
Stap 16) Selecteer een specifieke build en u kunt de huidige status bekijken door op " te klikken" te klikken.console-uitvoer'.
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
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
- 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:
Voordelen van het gebruik Jenkins
- Vroegtijdige probleemopsporing – bugs kunnen al in een vroeg stadium van de softwareontwikkeling worden gedetecteerd.
- Automatische integratie – er is geen aparte inspanning nodig om alle wijzigingen te integreren.
- Installer – een inzetbaar systeem dat op elk moment tijdens de ontwikkeling beschikbaar is.
- Archief – eerdere bouwgegevens worden bewaard.
- 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.




































