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.




































