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.

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:
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.
Steg 3) Pรฅ Nytt Maven-projekt dialogval Skapa ett enkelt projekt och klicka pรฅ Nรคsta.
Steg 4) Ange WebdriverTest i Grupp-ID: och Artefakt-ID: och klicka pรฅ slutfรถr.
Steg 5) Eclipse kommer skapa WebdriverTest med fรถljande struktur:
Steg 6) Hรถgerklicka pรฅ JRE Systembibliotek och vรคlj Vรฅra Bostรคder alternativet frรฅn menyn.
Pรฅ Egenskaper fรถr JRE System Library dialogrutan, se till Arbetsyta standard JRE รคr valt och klicka pรฅ OK.
Steg 7) Vรคlja pom.xml frรฅn Project Explorer.
pom.xml-filen รถppnas i redigeringsavsnittet.
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:
Steg 10) Eclipse kommer att skapa NewTest-klassen som visas i fรถljande skรคrmdump:
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:
Uppdatera projektet och se till att filen visas i trรคdet Paketutforskare (hรถgerklicka pรฅ projektet โ Uppdatera).
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.
Se till att bygget slutfรถrs utan problem.
Steg 14) Dessutom behรถver vi lรคgga till
- maven-kompilator-plugin
- maven-surefire-plugin
- 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:
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.
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.
Steg 2) Packa Jenkins till en angiven mapp. Kรถr exe-filen som visas pรฅ fรถljande skรคrmdump:
Steg 3) I Jenkins Instรคllning fรถnster, klicka pรฅ Nรคsta knapp.
Steg 4) Klicka pรฅ installera knappen i slutet.
Steg 5) Nรคr installationen รคr klar, navigera till Jenkins Instrumentpanelen (http://localhost:8080 som standard) i webblรคsarfรถnstret.
Steg 6) Klicka pรฅ Nytt objekt lรคnk fรถr att skapa ett CI-jobb.
Steg 7) Vรคlj alternativknappen fรถr Maven-projektet som visas i fรถljande skรคrmdump:
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.
Steg 9) Gรฅ till hantera Jenkins => Konfigurera system som visas i fรถljande skรคrmdump.
Klicka pรฅ JDK-installationer och konfigurera JDK som i fรถljande skรคrmdump:
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".
Steg 11) Klicka pรฅ Ansรถk knapp.
Steg 12) Pรฅ projektsidan fรถr WebdriverTest klickar du pรฅ Bygg nu lรคnken.
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.
Steg 14) WebdriverTest-projektsidan visar bygghistoriken och lรคnkar till resultaten som visas i fรถljande skรคrmdump:
Steg 15) Klicka pรฅ lรคnken "Senaste testresultat" fรถr att se testresultaten som visas i fรถljande skรคrmdump:
Steg 16) Vรคlj en specifik version sรฅ ser du aktuell status genom att klicka pรฅ โkonsolutgรฅng".
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
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
- 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:
Fรถrdelarna med att anvรคnda Jenkins
- Tidig problemupptรคckt โ buggar kan upptรคckas i den tidiga fasen av programvaruutvecklingen.
- Automatisk integration โ ingen separat anstrรคngning krรคvs fรถr att integrera alla รคndringar.
- Installationsprogram โ ett driftsรคttbart system som รคr tillgรคngligt nรคr som helst i utvecklingen.
- Register โ tidigare byggregister bevaras.
- 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.




































