Maven & Jenkins Integrasjon med Selenium Opplæringen
Hva er Jenkins i Selenium?
Jenkins er det ledende åpen kildekode kontinuerlig integrasjonsverktøy utviklet av Hudson lab. Den er på tvers av plattformer og kan brukes på Windows, Linux, Mac OS og Solaris miljøer. Jenkins er skrevet i Java. Jenkins hovedbruk er å overvåke enhver jobb som kan være SVN-kasse, cron eller hvilken som helst applikasjonstilstand. Den utløser forhåndskonfigurerte handlinger når et bestemt trinn skjer i jobber.
Viktige egenskaper ved Jenkins
- Endre støtte: Jenkins genererer listen over alle endringer som er gjort i repositories som SVN.
- Permanente lenker: Jenkins gir direkte lenker til den siste konstruksjonen eller mislykkede konstruksjonen som kan brukes for enkel kommunikasjon
- Installasjon: Jenkins er enkel å installere enten ved å bruke direkte installasjonsfil (exe) eller krigsfil for å distribuere ved hjelp av applikasjonsserver.
- E-postintegrasjon: Jenkins kan konfigureres til å sende e-post med innholdet i statusen til bygget.
- Enkel konfigurasjon: Det er enkelt å konfigurere ulike oppgaver på Jenkins.
- TestNG test: Jenkins kan konfigureres til å kjøre automasjonstestbyggingen Testng etter hvert bygg av SVN.
- Flere VM-er: Jenkins kan konfigureres til å distribuere bygget på flere maskiner.
- Prosjektbygging: Jenkins dokumenterer detaljene til jar, versjon av jar og kartlegging av bygge- og jar-nummer.
- Plugins: 3rd party-plugin kan konfigureres i Jenkins for å bruke funksjoner og tilleggsfunksjonalitet.
Hvorfor Jenkins og Selenium?
- kjører Selenium tester i Jenkins lar deg kjøre testene hver gang programvaren endres og distribuere programvaren til et nytt miljø når testene består.
- Jenkins kan planlegge testene dine til å kjøre på et bestemt tidspunkt.
- Du kan lagre utførelseshistorikken og testrapportene.
- Jenkins støtter Maven for å bygge og Testing et prosjekt i kontinuerlig integrasjon.
Hva er Maven i Selenium?
Maven er et kraftig prosjekt-/byggstyringsverktøy, basert på konseptet med en POM (Project Object Model) som inkluderer prosjektinformasjon og konfigurasjonsinformasjon for Maven som byggekatalog, kildekatalog, avhengighet, testkildekatalog, mål, plugins, etc. .
Hvorfor Maven & Jenkins
Selenium WebDriver er flott for nettleserautomatisering. Men når du bruker det til å teste og bygge et testrammeverk, føles det underkraftig. Integrering av Maven med Selenium gir følgende fordeler
Apache Maven gir støtte for å administrere hele livssyklusen til et testprosjekt.
- Maven brukes til å definere prosjektstruktur, avhengigheter, bygge- og testadministrasjon.
- Ved å bruke pom.xml(Maven) kan du konfigurere avhengigheter som trengs for å bygge testing og kjøre kode.
- Maven laster automatisk ned de nødvendige filene fra depotet mens prosjektet bygges.
Hvordan installere Maven og bruke den med TestNG Selenium
Her er trinnene for å installere Maven og bruke den med TestNG Selenium
For denne opplæringen vil vi bruke Eclipse (Juno) IDE for Java Utviklere å sette opp Selenium WebDriver-prosjekt. I tillegg må vi legge til m2eclipse-plugin til Eclipse for å lette byggeprosessen og lage pom.xml-fil.
La oss legge til m2eclipse-plugin til Eclipse med følgende trinn:
Trinn 1) In Eclipse IDE, velg Hjelp | Installer ny programvare fra Eclipse Hovedmeny.
Trinn 2) Skriv inn URL-en i dialogboksen Installer https://www.eclipse.org/m2e/. Velge Jobbe med og m2e-plugin som vist i følgende skjermbilde:
Trinn 3) Klikk på neste knappen og fullfør installasjonen.
Konfigurer Eclipse med Maven
Med m2e plugin installert, må vi nå lage Maven-prosjektet.
Trinn 1) In Eclipse IDE, opprett et nytt prosjekt ved å velge filet | Ny | Annet fra Eclipse menyen.
Trinn 2) På Ny dialog, velg Maven | Maven-prosjektet og klikk Neste
Trinn 3) På Nytt Maven-prosjekt dialogboksen velg Lag et enkelt prosjekt og klikk Neste
Trinn 4) Skriv inn WebdriverTest i Gruppe-ID: og Artefakt-ID: og klikk fullfør
Trinn 5) Eclipse vil skape WebdriverTest med følgende struktur:
Trinn 6) Høyreklikk på JRE systembibliotek og velg Eiendommer alternativet fra menyen.
På Egenskaper for JRE System Library dialogboks, sørg for Arbeidsområde standard JRE er valgt og klikk OK
Trinn 7). Velg pom.xml fra Prosjektutforsker..
pom.xml-filen åpnes i redigeringsseksjonen
Trinn 8) Legg til Selenium, Maven, TestNG, Junite avhengigheter 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>
Trinn 9) Lage en ny TestNG Klasse. Skriv inn pakkenavn som "eksempel" og "Ny test" i Navn: tekstboks og klikk på Finish knappen som vist i følgende skjermbilde:
Trinn 10). Eclipse vil opprette NewTest-klassen som vist i følgende skjermbilde:
Trinn 11) Legg til følgende kode til NyTest klasse:
Denne koden vil bekrefte tittelen til Guru99 Selenium Side
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();
}
}
Trinn 12) Høyreklikk på WebdriverTest og velg TestNG | Konvertere til TestNG.
Eclipse vil lage testng.xml som sier at du bare trenger å kjøre én test med navnet NyTest som vist i følgende skjermbilde:
Oppdater prosjektet og sørg for at filen vises i treet Pakkeutforsker (høyreklikk på prosjektet – Oppdater).
Trinn 13) Nå må du kjøre test gjennom dette testng.xml.
Så, gå til Kjør konfigurasjoner og opprette en ny lansering TestNG, velg prosjektet og feltet Suite as testng.xml og klikk Kjør
Sørg for at byggingen ble fullført.
Trinn 14). I tillegg må vi legge til
- maven-compiler-plugin
- maven-surefire-plugin
- testng.xml
til pom.xml.
Maven-surefire-pluginen brukes til å konfigurere og utføre tester. Her brukes plugin for å konfigurere testing.xml for TestNG teste og generere testrapporter.
Maven-compiler-pluginen brukes til å hjelpe med å kompilere koden og bruke den spesielle JDK-versjonen for kompilering. Legg til alle avhengigheter i følgende kodebit til pom.xml i node:
Trinn 15) Å kjøre the tester i Mavens livssyklus, Høyreklikk på WebdriverTest og velg Løp så | Maven test. Maven vil utføre test fra prosjektet.
Sørg for at byggingen ble fullført.
Hvordan integrere Jenkins med Selenium webdriver
Her er trinnene for å installere Jenkins og konfigurere den til å kjøre Maven med TestNg Selenium
Installasjon
Trinn 1) Gå til http://jenkins-ci.org/ og last ned riktig pakke for operativsystemet ditt. Installer Jenkins.
Trinn 2) Pakk ut Jenkins til spesifisert mappe. Kjør exe-filen som vist i følgende skjermbilde:
Trinn 3) In Jenkins 1.607 oppsett vindu klikk på neste knapp.
Trinn 4) Klikk på Install knappen til slutt.
Trinn 5) Når installasjonen er fullført, naviger til Jenkins Dashboard (http://localhost:8080 som standard) i nettleservinduet.
Trinn 6) Klikk på Nytt element lenke for å opprette en CI-jobb.
Trinn 7) Velg alternativknappen for Maven-prosjektet som vist i følgende skjermbilde:
Bruke Build a Maven-prosjektet alternativ, støtter Jenkins bygging og testing av Maven-prosjekter.
Trinn 8) Klikk på OK-knappen. En ny jobb med navnet "WebdriverTest" er opprettet i Jenkins Dashboard.
Trinn 9) Gå til Administrer Jenkins => Konfigurer systemet som vist i følgende skjermbilde.
Klikk på JDK-installasjoner og konfigurer JDK som i følgende skjermbilde:
Trinn 10) Gå til Bygge del av ny jobb.
- på Root POM tekstboks, skriv inn hele banen til pom.xml
- I Mål og alternativer-delen skriver du inn "ren test"
Trinn 11) Klikk på Påfør knapp.
Trinn 12) På WebdriverTest-prosjektsiden klikker du på Bygg nå kobling.
Maven skal bygge prosjektet. Det vil det da ha TestNG gjennomføre testsakene.
Trinn 13) Når byggeprosessen er fullført, klikk på Jenkins Dashboard WebdriverTest prosjekt
Trinn 14) WebdriverTest-prosjektsiden viser byggehistorikken og lenker til resultatene som vist i følgende skjermbilde:
Trinn 15) Klikk på koblingen "Siste testresultat" for å se testresultatene som vist i følgende skjermbilde:
Trinn 16). Velg spesifikk bygg, og du vil se gjeldende status ved å klikke på "konsollutgang".
Planlegger Jenkins for automatisk utførelse.
Planlegge bygg (Selenium Tester) er en av de viktige funksjonene til Jenkins der den automatisk utløser byggingen, basert på definerte kriterier. Jenkins tilbyr flere måter å utløse byggeprosessen under Build Trigger-konfigurasjonen.
For eksempel:
Skriv inn 0 23 * * * i Schedule-tekstboksen som vist på følgende skjermbilde. Dette vil utløse byggeprosessen hver dag kl. 11
Bruker Jenkings uten Maven
For å kjøre rent TestNg-skript i Jenkins, skriv inn følgende i build
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml
- Klikk på Lagre-knappen.
- Merk: Den faktiske banen til lib og bin-mappen må legge til kommandoen ovenfor.
- Etter å ha lagret kommandoen, vil Jenkins bygge prosjektet på forhåndsdefinert tid, og denne kommandoen vil bli kjørt med TestNG.
- Resultatet vil bli lagret i tilpasset rapport HTML-fil som kan sendes via e-post med en Jenkin-konfigurasjon
- Utdata av koden vil være
Fordeler med å bruke Jenkins
- Tidlig problemfunn – Feil kan oppdages i tidlig fase av programvareutviklingen
- Automatisk integrasjon – ingen egen innsats kreves for å integrere alle endringer
- Installer – et distribuerbart system tilgjengelig på ethvert utviklingspunkt
- Rekorder – delbyggeposter opprettholdes
- Støtte og plugins: En av grunnene til Jenkins popularitet er tilgjengeligheten av stor fellesskapsstøtte. Også mange ferdiglagde plugins er tilgjengelige som hjelper deg med å utvide funksjonaliteten.




































