Maven & Jenkins Integration med Selenium tutorial

Hvad er Jenkins i Selenium?

Jenkins er det førende open source værktøj til kontinuerlig integration udviklet af Hudson lab. Det er cross-platform og kan bruges på Windows, Linux, Mac OS og Solaris miljøer. Jenkins er skrevet i Java. Jenkins primære brug er at overvåge ethvert job, som kan være SVN checkout, cron eller en hvilken som helst applikationstilstand. Den udløser forudkonfigurerede handlinger, når et bestemt trin forekommer i job.

Vigtige egenskaber ved Jenkins

  • Skift support: Jenkins genererer listen over alle ændringer udført i repositories som SVN.
  • Permanente links: Jenkins giver direkte links til den seneste build eller mislykkede build, der kan bruges til nem kommunikation
  • Installation: Jenkins er let at installere enten ved hjælp af direkte installationsfil (exe) eller war-fil til at implementere ved hjælp af applikationsserver.
  • Email integration: Jenkins kan konfigureres til at e-maile indholdet af status for buildet.
  • Nem konfiguration: Det er nemt at konfigurere forskellige opgaver på Jenkins.
  • TestNG prøve: Jenkins kan konfigureres til at køre automatiseringstesten Testng efter hver build af SVN.
  • Flere VM'er: Jenkins kan konfigureres til at distribuere buildet på flere maskiner.
  • Projektopbygning: Jenkins dokumenterer detaljerne for jar, version af jar og kortlægning af build og jar-numre.
  • Plugins: 3rd party plugin kan konfigureres i Jenkins til at bruge funktioner og yderligere funktionalitet.

Hvorfor Jenkins og Selenium?

  • Løb Selenium test i Jenkins giver dig mulighed for at køre dine tests, hver gang din software ændres, og implementere softwaren til et nyt miljø, når testene består.
  • Jenkins kan planlægge dine tests til at køre på et bestemt tidspunkt.
  • Du kan gemme eksekveringshistorikken og testrapporterne.
  • Jenkins understøtter Maven til at bygge og Test et projekt i kontinuerlig integration.

Hvad er Maven i Selenium?

Maven er et kraftfuldt projekt-/byggestyringsværktøj baseret på konceptet med en POM (Project Object Model), der inkluderer projektinformation og konfigurationsinformation for Maven såsom byggemappe, kildemappe, afhængighed, testkildemappe, mål, plugins osv. .

Hvorfor Maven & Jenkins

Selenium WebDriver er fantastisk til browserautomatisering. Men når du bruger det til at teste og bygge en testramme, føles det underpowered. Integrering 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 at bruge pom.xml(Maven) kan du konfigurere afhængigheder, der er nødvendige for at bygge test og køre kode.
  • Maven downloader automatisk de nødvendige filer fra depotet, mens projektet bygges.

Sådan installerer du Maven og bruger den med TestNG Selenium

Her er trin til at installere Maven og bruge det med TestNG Selenium

Til denne tutorial vil vi bruge Eclipse (Juno) IDE til Java Udviklere til at konfigurere Selenium WebDriver projekt. Derudover skal vi tilføje m2eclipse plugin til Eclipse for at lette byggeprocessen og oprette pom.xml-fil.
Lad os tilføje m2eclipse plugin til Eclipse med følgende trin:

Trin 1) In Eclipse IDE, vælg Hjælp | Installer ny software fra Eclipse Hovedmenu.

Trin 2) Indtast URL'en i dialogboksen Installer https://www.eclipse.org/m2e/. Vælg Arbejde med og m2e plugin som vist i følgende skærmbillede:

Installer Maven og brug den med TestNG Selenium

Trin 3) Klik på Næste knap og afslut installationen.

Konfigurer Eclipse med Maven

Med m2e plugin er installeret, skal vi nu oprette Maven projekt.

Trin 1) In Eclipse IDE, opret et nyt projekt ved at vælge File (Felt) | Ny | Andet fra Eclipse menu.

Trin 2)Ny dialog, vælg Maven | Maven projekt og klik på Næste

Installer Maven og brug den med TestNG Selenium

Trin 3) Nyt Maven-projekt dialogboksen vælg Lav et simpelt projekt og klik på Næste

Installer Maven og brug den med TestNG Selenium

Trin 4) Indtast WebdriverTest i Gruppe-id: og Artefakt-id: og klik på Afslut

Installer Maven og brug den med TestNG Selenium

Trin 5) Eclipse vil skabe WebdriverTest med følgende struktur:

Installer Maven og brug den med TestNG Seleniuml

Trin 6) Højreklik på JRE Systembibliotek og vælg Ejendomme mulighed i menuen.

Installer Maven og brug den med TestNG Selenium

Egenskaber for JRE System Library dialogboks, sørg for Workspace standard JRE er valgt, og klik på OK

Installer Maven og brug den med TestNG Selenium

Trin 7). Vælg pom.xml fra Projekt Explorer..

Installer Maven og brug den med TestNG Selenium

pom.xml-filen åbnes i Editor-sektionen

Installer Maven og brug den med TestNG Selenium

Trin 8) Tilsæt Selenium, Maven, TestNG, 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 Pakkenavn som "eksempel" og "NyTest" i Navn: tekstboks og klik på Finish knap som vist på følgende skærmbillede:

Installer Maven og brug den med TestNG Selenium

Trin 10). Eclipse vil oprette NewTest-klassen som vist på følgende skærmbillede:

Installer Maven og brug den med TestNG Selenium

Trin 11) Tilføj følgende kode til NyTest klasse:

Denne kode vil bekræfte titlen på 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("http://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 og vælg TestNG | Konverter til TestNG.
Eclipse vil oprette testng.xml, som siger, at du kun skal køre én test med navnet NyTest som vist på følgende skærmbillede:

Installer Maven og brug den med TestNG Selenium

Opdater projektet, og sørg for, at filen vises i træet Pakke Explorer (højreklik på projektet – Opdater).

Installer Maven og brug den med TestNG Selenium

Trin 13) Nu skal du køre test igennem dette testng.xml.

Så gå til Kør konfigurationer og oprette en ny lancering TestNG, vælg projektet og feltet Suite as testng.xml og klik på Kør

Installer Maven og brug den med TestNG Selenium

Sørg for, at bygningen blev afsluttet med succes.

Trin 14). Derudover skal vi tilføje

  1. maven-compiler-plugin
  2. maven-surefire-plugin
  3. testng.xml

til pom.xml.

Maven-surefire-plugin'et bruges til at konfigurere og udføre tests. Her bruges plugin 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 bruge den særlige JDK-version til kompilering. Tilføj alle afhængigheder i følgende kodestykke til pom.xml i node:

Installer Maven og brug den med TestNG Selenium

Trin 15) At køre the test i Mavens livscyklus, højreklik på WebdriverTest og vælg Løb som | Maven test. Maven vil udføre test fra projektet.

Installer Maven og brug den med TestNG Selenium

Sørg for, at bygningen blev afsluttet med succes.

Hvordan man integrerer Jenkins med Selenium webdriver

Her er trin til at installere Jenkins og konfigurere det til at køre Maven med TestNg Selenium

Installation

Trin 1) Gå til http://jenkins-ci.org/ og download den korrekte pakke til dit OS. Installer Jenkins.

Integration af Jenkins med Selenium webdriver

Trin 2) Pak Jenkins ud til den angivne mappe. Kør exe-fil som vist i følgende skærmbillede:

Integration af Jenkins med Selenium webdriver

Trin 3) In Jenkins 1.607 opsætning vindue klik på Næste .

Integration af Jenkins med Selenium webdriver

Trin 4) Klik på Installer knappen til sidst.

Integration af Jenkins med Selenium webdriver

Trin 5) Når installationen er færdig, skal du navigere til Jenkins Dashboard (http://localhost:8080 som standard) i browservinduet.

Integration af Jenkins med Selenium webdriver

Trin 6) Klik på Ny vare link for at oprette et CI-job.

Integration af Jenkins med Selenium webdriver

Trin 7) Vælg radioknappen Maven-projektet som vist på følgende skærmbillede:

Integration af Jenkins med Selenium webdriver

Brug af Build a Maven projekt option, understøtter Jenkins opbygning og test af Maven-projekter.

Trin 8) Klik på knappen OK. Et nyt job med navnet "WebdriverTest" oprettes i Jenkins Dashboard.

Integration af Jenkins med Selenium webdriver

Trin 9) Gå til Administrer Jenkins => Konfigurer system som vist i det følgende skærmbillede.

Integration af Jenkins med Selenium webdriver

Klik på JDK installationer og konfigurer JDK som i følgende skærmbillede:

Integration af Jenkins med Selenium WebDrive

Trin 10) Gå til Byg del af nyt job.

  • I Root POM tekstboks, indtast den fulde sti til pom.xml
  • Indtast "ren test" i afsnittet Mål og muligheder
  • Integration af Jenkins med Selenium webdriver

Trin 11) Klik på Ansøg .

Integration af Jenkins med Selenium webdriver

Trin 12) På WebdriverTest-projektsiden skal du klikke på Byg nu .

Integration af Jenkins med Selenium webdriver

Maven vil bygge projektet. Det vil den da have TestNG udføre testcaserne.

Trin 13) Når byggeprocessen er afsluttet, skal du i Jenkins Dashboard klikke på WebdriverTest projekt

Integration af Jenkins med Selenium webdriver

Trin 14) WebdriverTest-projektsiden viser byggehistorikken og links til resultaterne som vist på følgende skærmbillede:

Integration af Jenkins med Selenium webdriver

Trin 15) Klik på linket "Seneste testresultat" for at se testresultaterne som vist på følgende skærmbillede:

Integration af Jenkins med Selenium webdriver

Trin 16). Vælg specifik build, og du vil se den aktuelle status ved at klikke på "konsoludgang".

Integration af Jenkins med Selenium webdriver

Planlægning af Jenkins til automatisk udførelse.

Planlægning af builds (Selenium Tests) er en af ​​de vigtige funktioner i Jenkins, hvor den automatisk udløser build, baseret på definerede kriterier. Jenkins tilbyder 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

Jenkins til automatisk udførelse

Brug af Jenkings uden Maven

For at køre rent TestNg-script i Jenkins skal du indtaste følgende i build

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml

Jenkins til automatisk udførelse

  • Klik på knappen Gem.
  • Bemærk: Den faktiske sti til lib og bin-mappen skal tilføjes ovenstående kommando.
  • Efter at have gemt kommandoen, vil Jenkins bygge projektet på foruddefineret tid, og denne kommando vil blive kørt ved hjælp af TestNG.
  • Resultatet vil blive gemt i tilpasset rapport HTML-fil, der kan sendes via e-mail med en Jenkin-konfiguration
  • Output af koden vil være

Jenkins til automatisk udførelse

Fordele ved at bruge Jenkins

  1. Tidlig problemfinding - Bug kan opdages i den tidlige fase af softwareudviklingen
  2. Automatisk integration – der kræves ingen særskilt indsats for at integrere alle ændringer
  3. Installer – et system, der kan implementeres på et hvilket som helst tidspunkt i udviklingen
  4. Optegnelser – delbygningsregistreringer vedligeholdes
  5. Support og plugins: En af grundene til Jenkins popularitet er tilgængeligheden af ​​stor fællesskabssupport. Der er også masser af færdige plugins tilgængelige, som hjælper dig med at udvide dets funktionalitet.