Maven & Jenkins Integratie met Selenium Tutorial

Waar zit Jenkins in? Selenium?

Jenkins is de toonaangevende open-source tool voor continue integratie, ontwikkeld door Hudson Lab. Het is platformonafhankelijk en kan worden gebruikt Windows, Linux, MacOS en Solaris omgevingen. Jenkins is geschreven Java. Het belangrijkste gebruik van Jenkin is het monitoren van elke taak, zoals SVN-checkout, cron of applicatiestatussen. Het activeert vooraf geconfigureerde acties wanneer een bepaalde stap in taken plaatsvindt.

Belangrijke kenmerken van Jenkins

  • Ondersteuning voor wijzigingen: Jenkins genereert een lijst met alle wijzigingen die zijn aangebracht in opslagplaatsen zoals SVN.
  • Permanente links: Jenkins biedt directe links naar de nieuwste build of mislukte build die kunnen worden gebruikt voor eenvoudige communicatie
  • Installatie: Jenkins is eenvoudig te installeren met behulp van een direct installatiebestand (exe) of een oorlogsbestand dat kan worden geïmplementeerd via de applicatieserver.
  • E-mail integratie: Jenkins kan zo worden geconfigureerd dat de inhoud van de status van de build per e-mail wordt verzonden.
  • Eenvoudige configuratie: Het configureren van verschillende taken op Jenkins is eenvoudig.
  • TestNG test: Jenkins kan worden geconfigureerd om de automatiseringstest uit te voeren Testen na elke build van SVN.
  • Meerdere VM's: Jenkins kan worden geconfigureerd om de build over meerdere machines te distribueren.
  • Projectopbouw: Jenkins documenteert de details van jar, jar-versie en toewijzing van build- en jar-nummers.
  • Plugins: 3rd party-plug-in kan in Jenkins worden geconfigureerd om functies en extra functionaliteit te gebruiken.

Waarom Jenkins en Selenium?

  • Hardlopen Selenium Met tests in Jenkins kunt u uw tests uitvoeren elke keer dat uw software verandert, en de software in een nieuwe omgeving implementeren wanneer de tests slagen.
  • Jenkins kan uw tests plannen zodat ze op een specifiek tijdstip worden uitgevoerd.
  • U kunt de uitvoeringsgeschiedenis en testrapporten opslaan.
  • Jenkins ondersteunt Maven bij het bouwen en Testen een project in continue integratie.

Waar zit Maven in? Selenium?

Maven is een krachtige tool voor project-/buildbeheer, gebaseerd op het concept van een POM (Project Object Model) dat projectinformatie en configuratie-informatie voor Maven bevat, zoals constructiedirectory, brondirectory, afhankelijkheid, testbrondirectory, doelen, plug-ins, enz. .

Waarom Maven & Jenkins

Selenium WebDriver is geweldig voor browserautomatisering. Maar als je het gebruikt voor het testen en bouwen van een testframework, voelt het ondermaats aan. Maven integreren met Selenium biedt de volgende voordelen
Apache Maven biedt ondersteuning bij het beheren van de volledige levenscyclus van een testproject.

  • Maven wordt gebruikt om de projectstructuur, afhankelijkheden, build en testbeheer te definiëren.
  • Met pom.xml(Maven) kunt u de afhankelijkheden configureren die nodig zijn voor het bouwen van testen en het uitvoeren van code.
  • Maven downloadt automatisch de benodigde bestanden uit de repository tijdens het bouwen van het project.

Hoe Maven te installeren en te gebruiken met TestNG Selenium

Hier volgen de stappen om Maven te installeren en te gebruiken TestNG Selenium

Voor deze tutorial zullen we gebruiken Eclipse (Juno) IDE voor Java Ontwikkelaars om op te zetten Selenium WebDriver Project. Daarnaast moeten we de m2eclipse plugin toevoegen aan Eclipse om het bouwproces te vergemakkelijken en het pom.xml-bestand te maken.
Laten we de m2eclipse-plug-in toevoegen aan Eclipse met de volgende stappen:

Stap 1) In Eclipse IDE, selecteer Help | Installeer nieuwe software van Eclipse Hoofdmenu.

Stap 2) Voer in het dialoogvenster Installeren de URL in https://www.eclipse.org/m2e/. Selecteer Werk met en de m2e-plug-in zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 3) Klik op Volgende knop en voltooi de installatie.

Configure Eclipse met Maven

Nu de m2e-plug-in is geïnstalleerd, moeten we nu een Maven-project maken.

Stap 1) In Eclipse IDE, maak een nieuw project door te selecteren Dien in | Nieuw | Overige van Eclipse menu.

Stap 2) Op de Nieuw dialoogvenster, selecteer Maven | Maven-project en klik op Volgende

Installeer Maven en gebruik het met TestNG Selenium

Stap 3) Op de Nieuw Maven-project dialoogvenster selecteer de Maak een eenvoudig project en klik op Volgende

Installeer Maven en gebruik het met TestNG Selenium

Stap 4) Voer WebdriverTest in Groeps-ID: en Artefact-ID: en klik op Voltooien

Installeer Maven en gebruik het met TestNG Selenium

Stap 5) Eclipse zal maken WebdriverTest met de volgende structuur:

Installeer Maven en gebruik het met TestNG Seleniuml

Stap 6) Klik met de rechtermuisknop op JRE-systeembibliotheek in en selecteer het Aanbod optie uit het menu.

Installeer Maven en gebruik het met TestNG Selenium

Op de Eigenschappen voor JRE-systeembibliotheek dialoogvenster, zorg ervoor Standaard-JRE van de werkruimte is geselecteerd en klik op OK

Installeer Maven en gebruik het met TestNG Selenium

Stap 7). Kiezen pom.xml van Projectverkenner..

Installeer Maven en gebruik het met TestNG Selenium

pom.xml-bestand wordt geopend in de Editor-sectie

Installeer Maven en gebruik het met TestNG Selenium

Stap 8) Voeg de Selenium, Maven, TestNG, Juniet afhankelijkheden van pom.xml in de knooppunt:

	<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>

Stap 9) Maak een nieuw TestNG Klas. Voer de pakketnaam in als “example” en “NewTest” in het Naam: tekstvak en klik op de Finish knop zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 10). Eclipse zal de klasse NewTest aanmaken zoals getoond in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Stap 11) Voeg de volgende code toe aan de NieuwTest klasse:

Deze code verifieert de titel van Guru99 Selenium Pagina

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

Stap 12) Klik met de rechtermuisknop op de WebdriverTest en selecteer TestNG | Omzetten naar TestNG.
Eclipse zal testng.xml aanmaken waarin staat dat u slechts één test hoeft uit te voeren met de naam NieuwTest zoals weergegeven in de volgende schermafbeelding:

Installeer Maven en gebruik het met TestNG Selenium

Werk het project bij en zorg ervoor dat het bestand in de boomstructuur verschijnt Pakketverkenner (klik met de rechtermuisknop op het project – Vernieuwen).

Installeer Maven en gebruik het met TestNG Selenium

Stap 13) Nu moet u de test hier doorheen uitvoeren testenng.xml.

Dus, ga naar de Configuraties uitvoeren en maak een nieuwe lancering TestNG, selecteer het project en het veld Suite as testenng.xml en klik op Uitvoeren

Installeer Maven en gebruik het met TestNG Selenium

Zorg ervoor dat de build met succes is voltooid.

Stap 14). Bovendien moeten we toevoegen

  1. maven-compiler-plug-in
  2. maven-surefire-plug-in
  3. testenng.xml

naar pom.xml.

De maven-surefire-plugin wordt gebruikt om tests te configureren en uit te voeren. Hier wordt de plug-in gebruikt om de test.xml te configureren TestNG testen en testrapporten genereren.

De maven-compiler-plugin wordt gebruikt om te helpen bij het compileren van de code en het gebruiken van de specifieke JDK-versie voor compilatie. Voeg alle afhankelijkheden in het volgende codefragment toe aan pom.xml in de knooppunt:

Installeer Maven en gebruik het met TestNG Selenium

Stap 15) Om th uit te voerene tests in de Maven-levenscyclus, klik met de rechtermuisknop op de WebdriverTest en selecteer Rennen als | Maven-test. Maven zal de test van het project uitvoeren.

Installeer Maven en gebruik het met TestNG Selenium

Zorg ervoor dat de build met succes is voltooid.

Hoe integratie van Jenkins met Selenium webdriver

Hier zijn de stappen om Jenkins te installeren en te configureren om Maven met TestNg uit te voeren Selenium

Installatie

Stap 1) Ga naar http://jenkins-ci.org/ en download het juiste pakket voor uw besturingssysteem. Installeer Jenkins.

Integratie van Jenkins Met Selenium webdriver

Stap 2) Pak Jenkins uit naar de opgegeven map. Voer het exe-bestand uit zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 3) In Jenkins 1.607-installatie venster klik op Volgende knop.

Integratie van Jenkins Met Selenium webdriver

Stap 4) Klik op Install knop op het einde.

Integratie van Jenkins Met Selenium webdriver

Stap 5) Zodra de installatie is voltooid, navigeert u naar het Jenkins Dashboard (standaard http://localhost:8080) in het browservenster.

Integratie van Jenkins Met Selenium webdriver

Stap 6) Klik op de Nieuw item koppeling om een ​​CI-taak te maken.

Integratie van Jenkins Met Selenium webdriver

Stap 7) Selecteer het keuzerondje voor het Maven-project, zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Met behulp van de build a Maven-project optie ondersteunt Jenkins het bouwen en testen van Maven-projecten.

Stap 8) Klik op de OK-knop. Er wordt een nieuwe taak met de naam “WebdriverTest” gemaakt in Jenkins Dashboard.

Integratie van Jenkins Met Selenium webdriver

Stap 9) Ga naar Beheer Jenkins => Systeem configureren zoals weergegeven in de volgende schermafbeelding.

Integratie van Jenkins Met Selenium webdriver

Klik op JDK-installaties en configureer JDK zoals in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium WebDrive

Stap 10) Ga naar uw Bouw gedeelte nieuwe baan.

  • In de Wortel POM tekstvak, voer het volledige pad naar pom.xml in
  • Voer in het gedeelte Doelen en opties 'schone test' in
  • Integratie van Jenkins Met Selenium webdriver

Stap 11) Klik op Solliciteer knop.

Integratie van Jenkins Met Selenium webdriver

Stap 12) Op de WebdriverTest-projectpagina klikt u op de Bouwen Nu link.

Integratie van Jenkins Met Selenium webdriver

Maven zal het project bouwen. Dat zal dan wel het geval zijn TestNG voer de testgevallen uit.

Stap 13) Zodra het bouwproces is voltooid, klikt u in Jenkins Dashboard op de WebdriverTest project

Integratie van Jenkins Met Selenium webdriver

Stap 14) Op de projectpagina van WebdriverTest worden de buildgeschiedenis en links naar de resultaten weergegeven, zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 15) Klik op de link ‘Laatste testresultaat’ om de testresultaten te bekijken zoals weergegeven in de volgende schermafbeelding:

Integratie van Jenkins Met Selenium webdriver

Stap 16). Selecteer een specifieke build en u ziet de huidige status door op “console-uitvoer'.

Integratie van Jenkins Met Selenium webdriver

Jenkins plannen voor automatische uitvoering.

Builds plannen(Selenium Tests) is een van de belangrijke kenmerken van Jenkins waarbij de build automatisch wordt geactiveerd, op basis van gedefinieerde criteria. Jenkins biedt meerdere manieren om het bouwproces te activeren onder de Build Trigger-configuratie.

Bijvoorbeeld:
Voer 0 23 * * * in het tekstvak Schedule in, zoals weergegeven in de volgende schermafbeelding. Dit zal het buildproces elke dag om 11:XNUMX uur activeren

Jenkins voor automatische uitvoering

Jenkings gebruiken zonder Maven

Om een ​​puur TestNg-script in Jenkins uit te voeren, voert u het volgende in build in

D:>java -cp “Padtolibmap\lib\*;Padtobinmap\bin” org.testng.TestNG testenng.xml

Jenkins voor automatische uitvoering

  • Klik op de knop Opslaan.
  • Opmerking: het daadwerkelijke pad van de map lib en bin moet de bovenstaande opdracht toevoegen.
  • Na het opslaan van de opdracht zal Jenkins het project binnen een vooraf gedefinieerde tijd bouwen, en deze opdracht zal worden uitgevoerd met behulp van TestNG.
  • Het resultaat wordt opgeslagen in een aangepast HTML-rapportbestand dat via e-mail kan worden verzonden met een Jenkin-configuratie
  • De uitvoer van de code zal zijn

Jenkins voor automatische uitvoering

Voordelen van het gebruik van Jenkins

  1. Vroegtijdige probleemopsporing – Bug kan worden gedetecteerd in de vroege fase van de softwareontwikkeling
  2. Automatische integratie – geen afzonderlijke inspanning vereist om alle wijzigingen te integreren
  3. Installer – een inzetbaar systeem dat op elk ontwikkelingspunt beschikbaar is
  4. Records – gegevens over de bouw van onderdelen worden bijgehouden
  5. Ondersteuning en plug-ins: Een van de redenen voor Jenkins populariteit is de beschikbaarheid van grote community-ondersteuning. Ook zijn er veel kant-en-klare plug-ins beschikbaar die u helpen de functionaliteit uit te breiden.