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 | Nya | Övriga från Eclipse meny.

Steg 2)Nya dialogrutan, välj Maven | Maven-projektet och klicka på Nästa

Installera Maven och använd den med TestNG Selenium

Steg 3) 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

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("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();			
		}		
}	

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.