Maven & Jenkins Integration med Selenium Handledning

Vad รคr Jenkins i Selenium?

Jenkins รคr det ledande verktyget fรถr kontinuerlig integration med รถppen kรคllkod som utvecklats av Hudson lab. Den รคr plattformsoberoende och kan anvรคndas pรฅ Windows, Linux, Mac OS och Solaris miljรถer. Jenkins รคr skriven i Java. Jenkins huvudsakliga anvรคndning รคr att รถvervaka alla jobb som kan vara SVN-utcheckning, cron eller valfri applikationstillstรฅnd. Den aktiverar fรถrkonfigurerade รฅtgรคrder nรคr ett visst steg intrรคffar i jobb.

Viktiga egenskaper hos Jenkins

  • ร„ndra support: Jenkins genererar listan รถver alla รคndringar som gjorts i arkiv som SVN.
  • Permanenta lรคnkar: Jenkins tillhandahรฅller direktlรคnkar till den senaste konstruktionen eller misslyckade konstruktionen som kan anvรคndas fรถr enkel kommunikation
  • Installation: Jenkins รคr lรคtt att installera antingen med hjรคlp av direktinstallationsfil (exe) eller krigsfil att distribuera med hjรคlp av applikationsserver.
  • E-postintegration: Jenkins kan konfigureras att e-posta innehรฅllet i byggets status.
  • Enkel konfiguration: Att konfigurera olika uppgifter pรฅ Jenkins รคr enkelt.
  • TestNG testa: Jenkins kan konfigureras fรถr att kรถra automationstestbygget Testng efter varje byggande av SVN.
  • Flera virtuella datorer: Jenkins kan konfigureras fรถr att distribuera bygget pรฅ flera maskiner.
  • Projektuppbyggnad: Jenkins dokumenterar detaljerna fรถr burken, versionen av burken och kartlรคggningen av bygg- och burknummer.
  • Plugins: 3rd partyplugin kan konfigureras i Jenkins fรถr att anvรคnda funktioner och ytterligare funktionalitet.

Varfรถr Jenkins och Selenium?

  • Springa Selenium tester i Jenkins lรฅter dig kรถra dina tester varje gรฅng din programvara รคndras och distribuera programvaran till en ny miljรถ nรคr testerna passerar.
  • Jenkins kan schemalรคgga dina tester sรฅ att de kรถrs vid en viss tidpunkt.
  • Du kan spara exekveringshistoriken och testrapporterna.
  • Jenkins stรถdjer Maven fรถr att bygga och Testning ett projekt i kontinuerlig integration.

Vad รคr Maven i Selenium?

Maven รคr ett kraftfullt projekt-/bygghanteringsverktyg, baserat pรฅ konceptet med en POM (Project Object Model) som inkluderar projektinformation och konfigurationsinformation fรถr Maven sรฅsom byggkatalog, kรคllkatalog, beroende, testkรคllkatalog, mรฅl, plugins, etc. .

Varfรถr Maven & Jenkins

Selenium WebDriver รคr utmรคrkt fรถr webblรคsarautomatisering. Men nรคr du anvรคnder den fรถr att testa och bygga ett testramverk kรคnns den underdriven. Integrera Maven med Selenium ger fรถljande fรถrmรฅner
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 tester och kรถra kod.
  • Maven laddar automatiskt ner nรถdvรคndiga filer frรฅn fรถrvaret medan projektet bygger.

Hur man installerar Maven och anvรคnder den med TestNG Selenium

Hรคr รคr steg fรถr att installera Maven och anvรคnda den 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-projekt. Dessutom mรฅste vi lรคgga till m2eclipse plugin till Eclipse fรถr att underlรคtta byggprocessen och skapa pom.xml-fil.
Lรฅt oss lรคgga till m2eclipse plugin till Eclipse med fรถljande steg:

Steg 1) In Eclipse IDE, vรคlj Hjรคlp | Installera ny programvara frรฅn Eclipse Huvudmeny.

Steg 2) Ange URL:en i dialogrutan Installera https://www.eclipse.org/m2e/. Vรคlj Arbeta med och m2e-plugin som visas i fรถljande skรคrmdump:

Installera Maven och anvรคnd den med TestNG Selenium

Steg 3) Klicka pรฅ Nรคsta knappen och avsluta installationen.

Instรคlld Eclipse med Maven

Med m2e-plugin installerad behรถver vi nu skapa Maven-projektet.

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

Installera Maven och anvรคnd den med TestNG Selenium

Steg 3) Pรฅ Nytt Maven-projekt dialogrutan vรคlj Skapa ett enkelt projekt och klicka pรฅ Nรคsta

Installera Maven och anvรคnd den med TestNG Selenium

Steg 4) Ange WebdriverTest i Grupp-ID: och Artefakt-ID: och klicka pรฅ slutfรถr

Installera Maven och anvรคnd den med TestNG Selenium

Steg 5) Eclipse kommer skapa WebdriverTest med fรถljande struktur:

Installera Maven och anvรคnd den med TestNG Seleniuml

Steg 6) Hรถgerklicka pรฅ JRE Systembibliotek och vรคlj Vรฅra Bostรคder alternativet frรฅn menyn.

Installera Maven och anvรคnd den med TestNG Selenium

Pรฅ Egenskaper fรถr JRE System Library dialogrutan, se till Arbetsyta standard JRE รคr markerat och klicka pรฅ OK

Installera Maven och anvรคnd den med TestNG Selenium

Steg 7). Vรคlj pom.xml frรฅn Project Explorer..

Installera Maven och anvรคnd den med TestNG Selenium

pom.xml-filen รถppnas i redigeringssektionen

Installera Maven och anvรคnd den med TestNG Selenium

Steg 8) Lรคgg till Selenium, Maven, TestNG, 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 paketnamn som "exempel" och "Nytt test" i Namn : textrutan och klicka pรฅ Finish knappen som visas i fรถljande skรคrmdump:

Installera Maven och anvรคnd den med TestNG Selenium

Steg 10). Eclipse kommer att skapa NewTest-klassen som visas i fรถljande skรคrmdump:

Installera Maven och anvรคnd den med TestNG Selenium

Steg 11) Lรคgg till fรถljande kod till Nytt test klass:

Denna kod kommer att verifiera 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 och vรคlj TestNG | Konvertera till TestNG.
Eclipse kommer att skapa testng.xml som sรคger att du bara behรถver kรถra ett test med namnet Nytt test som visas i fรถljande skรคrmdump:

Installera Maven och anvรคnd den med TestNG Selenium

Uppdatera projektet och se till att filen visas i trรคdet Paketutforskare (hรถgerklicka pรฅ projektet โ€“ Uppdatera).

Installera Maven och anvรคnd den med TestNG Selenium

Steg 13) Nu mรฅste du testa detta testng.xml.

Sรฅ gรฅ till Kรถr konfigurationer och skapa en ny lansering TestNG, vรคlj projektet och fรคltet Suite as testng.xml och klicka pรฅ Kรถr

Installera Maven och anvรคnd den med TestNG Selenium

Se till att bygget slutfรถrdes framgรฅngsrikt.

Steg 14). Dessutom mรฅste vi lรคgga till

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

till pom.xml.

Maven-surefire-pluginen anvรคnds fรถr att konfigurera och utfรถra tester. Hรคr anvรคnds plugin fรถr att konfigurera testing.xml fรถr TestNG testa och generera testrapporter.

Maven-compiler-plugin anvรคnds fรถr att hjรคlpa till att kompilera koden och anvรคnda den speciella JDK-versionen fรถr kompilering. Lรคgg till alla beroenden i fรถljande kodavsnitt till pom.xml i nod:

Installera Maven och anvรคnd den med TestNG Selenium

Steg 15) Att kรถra the tester i Mavens livscykel, hรถgerklicka pรฅ WebdriverTest och vรคlj Spring som | Maven test. Maven kommer att utfรถra test frรฅn projektet.

Installera Maven och anvรคnd den med TestNG Selenium

Se till att bygget slutfรถrdes framgรฅngsrikt.

Hur man integrerar Jenkins med Selenium webbdrivrutin

Hรคr รคr steg fรถr att installera Jenkins och konfigurera den fรถr att kรถra Maven med TestNg Selenium

Installation

Steg 1) Gรฅ till http://jenkins-ci.org/ och ladda ner rรคtt paket fรถr ditt operativsystem. Installera Jenkins.

Integration av Jenkins med Selenium webbdrivrutin

Steg 2) Packa upp Jenkins till angiven mapp. Kรถr exe-fil som visas i fรถljande skรคrmdump:

Integration av Jenkins med Selenium webbdrivrutin

Steg 3) In Jenkins 1.607-installation fรถnster klicka pรฅ Nรคsta knapp.

Integration av Jenkins med Selenium webbdrivrutin

Steg 4) Klicka pรฅ installera knappen till slut.

Integration av Jenkins med Selenium webbdrivrutin

Steg 5) Nรคr installationen รคr klar, navigera till Jenkins Dashboard (http://localhost:8080 som standard) i webblรคsarfรถnstret.

Integration av Jenkins med Selenium webbdrivrutin

Steg 6) Klicka pรฅ Nytt objekt lรคnk fรถr att skapa ett CI-jobb.

Integration av Jenkins med Selenium webbdrivrutin

Steg 7) Vรคlj alternativknappen fรถr Maven-projektet som visas i fรถljande skรคrmdump:

Integration av Jenkins med Selenium webbdrivrutin

Anvรคnda Build a Maven-projektet alternativ, stรถdjer Jenkins att bygga och testa Maven-projekt.

Steg 8) Klicka pรฅ OK-knappen. Ett nytt jobb med namnet "WebdriverTest" skapas i Jenkins Dashboard.

Integration av Jenkins med Selenium webbdrivrutin

Steg 9) Gรฅ till Hantera Jenkins => Konfigurera system som visas i fรถljande skรคrmdump.

Integration av Jenkins med Selenium webbdrivrutin

Klicka pรฅ JDK-installationer och konfigurera JDK som i fรถljande skรคrmdump:

Integration av Jenkins med Selenium WebDrive

Steg 10) Gรฅ till Bygga avsnitt av nytt jobb.

  • I Root POM textbox, ange hela sรถkvรคgen till pom.xml
  • I avsnittet Mรฅl och alternativ anger du "rent test"
  • Integration av Jenkins med Selenium webbdrivrutin

Steg 11) Klicka pรฅ Ansรถk knapp.

Integration av Jenkins med Selenium webbdrivrutin

Steg 12) Pรฅ projektsidan fรถr WebdriverTest klickar du pรฅ Bygg nu lรคnken.

Integration av Jenkins med Selenium webbdrivrutin

Maven kommer att bygga projektet. Det kommer det dรฅ att ha TestNG utfรถra testfallen.

Steg 13) Nรคr byggprocessen รคr klar klickar du pรฅ i Jenkins Dashboard WebdriverTest projektet

Integration av Jenkins med Selenium webbdrivrutin

Steg 14) WebdriverTest-projektsidan visar bygghistoriken och lรคnkar till resultaten som visas i fรถljande skรคrmdump:

Integration av Jenkins med Selenium webbdrivrutin

Steg 15) Klicka pรฅ lรคnken "Senaste testresultat" fรถr att se testresultaten som visas i fรถljande skรคrmdump:

Integration av Jenkins med Selenium webbdrivrutin

Steg 16). Vรคlj specifik konstruktion sรฅ ser du aktuell status genom att klicka pรฅ "konsolutgรฅng".

Integration av Jenkins med Selenium webbdrivrutin

Schemalรคgger Jenkins fรถr automatisk exekvering.

Schemalรคgga byggen (Selenium Tests) รคr en av de viktiga funktionerna i Jenkins dรคr det automatiskt utlรถser bygget, baserat pรฅ definierade kriterier. Jenkins tillhandahรฅller flera sรคtt att utlรถsa byggprocessen under Build Trigger-konfigurationen.

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

Jenkins fรถr automatisk exekvering

Anvรคnder Jenkings utan Maven

Fรถr att kรถra rent TestNg-skript i Jenkins, skriv in fรถljande i build

D:>java -cp โ€œPathtolibfolder\lib\*;Pathtobinfolder\binโ€ org.testng.TestNG testng.xml

Jenkins fรถr automatisk exekvering

  • Klicka pรฅ knappen Spara.
  • Obs: Den faktiska sรถkvรคgen till lib och bin-mappen mรฅste lรคggas till i ovanstรฅende kommando.
  • Efter att ha sparat kommandot kommer Jenkins att bygga projektet pรฅ fรถrdefinierad tid, och detta kommando kommer att kรถras med TestNG.
  • Resultatet kommer att lagras i en anpassad rapport HTML-fil som kan skickas via e-post med en Jenkin-konfiguration
  • Utmatning av koden kommer att vara

Jenkins fรถr automatisk exekvering

Fรถrdelar med att anvรคnda Jenkins

  1. Tidig upptรคckt av problem โ€“ Bug kan upptรคckas i den tidiga fasen av mjukvaruutvecklingen
  2. Automatisk integration โ€“ ingen separat anstrรคngning krรคvs fรถr att integrera alla รคndringar
  3. Installer โ€“ ett driftsรคttbart system tillgรคngligt nรคr som helst under utveckling
  4. Records โ€“ delbyggnadsrekord bibehรฅlls
  5. Support och plugins: En av anledningarna till Jenkins popularitet รคr tillgรฅngen till stort communitysupport. Dessutom finns massor av fรคrdiga plugins tillgรคngliga som hjรคlper dig att utรถka dess funktionalitet.

Sammanfatta detta inlรคgg med: