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.

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:
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.
Trin 3) Pรฅ Nyt Maven-projekt dialogboksvalg Lav et simpelt projekt og klik pรฅ Nรฆste.
Trin 4) Indtast WebdriverTest i Gruppe-id: og Artefakt-id: og klik pรฅ fรฆrdig.
Trin 5) Eclipse vil skabe WebdriverTest med fรธlgende struktur:
Trin 6) Hรธjreklik pรฅ JRE Systembibliotek og vรฆlg Ejendomme mulighed i menuen.
Pรฅ Egenskaber for JRE System Library dialogboks, sรธrg for Workspace standard JRE er valgt, og klik pรฅ OK.
Trin 7) Type pom.xml fra Projekt Explorer.
pom.xml-filen รฅbnes i editor-sektionen.
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:
Trin 10) Eclipse vil oprette NewTest-klassen som vist pรฅ fรธlgende skรฆrmbillede:
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:
Opdater projektet, og sรธrg for, at filen vises i trรฆet Pakke Explorer (hรธjreklik pรฅ projektet โ Opdater).
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.
Sรธrg for, at byggeprocessen afsluttes korrekt.
Trin 14) Derudover skal vi tilfรธje
- maven-compiler-plugin
- maven-surefire-plugin
- 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:
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.
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.
Trin 2) Unzip Jenkins til en bestemt mappe. Kรธr exe-filen som vist pรฅ fรธlgende skรฆrmbillede:
Trin 3) I Jenkins Opsรฆtning Klik pรฅ vinduet Nรฆste .
Trin 4) Klik pรฅ Installer knappen til sidst.
Trin 5) Nรฅr installationen er fรฆrdig, skal du navigere til Jenkins Dashboard (standardindstillingen er http://localhost:8080) i browservinduet.
Trin 6) Klik pรฅ Ny vare link for at oprette et CI-job.
Trin 7) Vรฆlg radioknappen Maven-projektet som vist pรฅ fรธlgende skรฆrmbillede:
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.
Trin 9) Gรฅ til Administrer Jenkins => Konfigurer system som vist i det fรธlgende skรฆrmbillede.
Klik pรฅ JDK installationer og konfigurer JDK som i fรธlgende skรฆrmbillede:
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"
Trin 11) Klik pรฅ Ansรธg .
Trin 12) Pรฅ WebdriverTest-projektsiden skal du klikke pรฅ Byg nu .
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.
Trin 14) WebdriverTest-projektsiden viser byggehistorikken og links til resultaterne som vist pรฅ fรธlgende skรฆrmbillede:
Trin 15) Klik pรฅ linket "Seneste testresultat" for at se testresultaterne som vist pรฅ fรธlgende skรฆrmbillede:
Trin 16) Vรฆlg et specifikt build, og du vil se den aktuelle status ved at klikke pรฅ โkonsoludgang".
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
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
- 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:
Fordelene ved at bruge Jenkins
- Tidlig problemfinding โ fejl kan opdages i den tidlige fase af softwareudviklingen.
- Automatisk integration โ ingen separat indsats krรฆves for at integrere alle รฆndringer.
- Installationsprogram โ et implementerbart system, der er tilgรฆngeligt pรฅ ethvert udviklingspunkt.
- Registreringer โ tidligere byggeregistre vedligeholdes.
- 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.




































