Integrarea Maven & Jenkins cu Selenium tutorial

รŽn ce se aflฤƒ Jenkins Selenium?

Jenkins este principalul instrument open-source de integrare continuฤƒ dezvoltat de Hudson Lab. Este multiplatformฤƒ ศ™i poate fi folositฤƒ pe Windows, Linux, Mac OS ศ™i Solaris medii. Jenkins este scris รฎn Java. Utilizarea principalฤƒ a lui Jenkin este de a monitoriza orice job care poate fi SVN checkout, cron sau orice stare de aplicaศ›ie. Declanศ™eazฤƒ acศ›iuni preconfigurate atunci cรขnd are loc un anumit pas รฎn joburi.

Caracteristici importante ale lui Jenkins

  • Asistenศ›ฤƒ pentru schimbare: Jenkins genereazฤƒ lista tuturor modificฤƒrilor fฤƒcute รฎn depozite precum SVN.
  • Link-uri permanente: Jenkins oferฤƒ legฤƒturi directe cฤƒtre cea mai recentฤƒ versiune sau versiunea eศ™uatฤƒ care poate fi folositฤƒ pentru o comunicare uศ™oarฤƒ
  • Instalare: Jenkins este uศ™or de instalat folosind fiศ™ierul de instalare directฤƒ (exe) sau fiศ™ierul rฤƒzboi pentru a fi implementat folosind serverul de aplicaศ›ii.
  • Integrare e-mail: Jenkins poate fi configurat pentru a trimite prin e-mail conศ›inutul stฤƒrii build-ului.
  • Configurare usoara: Pentru a configura diverse sarcini pe Jenkins este uศ™or.
  • TestNG Test: Jenkins poate fi configurat pentru a rula testul de automatizare Testng dupฤƒ fiecare build de SVN.
  • Mai multe VM: Jenkins poate fi configurat sฤƒ distribuie versiunea pe mai multe maศ™ini.
  • Construire proiect: Jenkins documenteazฤƒ detaliile jar, versiunea jar ศ™i maparea numerelor de construcศ›ie ศ™i borcan.
  • Plugin-uri: 3rd Pluginul de petrecere poate fi configurat รฎn Jenkins pentru a utiliza funcศ›ii ศ™i funcศ›ionalitฤƒศ›i suplimentare.

De ce Jenkins ศ™i Selenium?

  • Alergare Selenium testele รฎn Jenkins vฤƒ permite sฤƒ rulaศ›i testele de fiecare datฤƒ cรขnd software-ul se schimbฤƒ ศ™i sฤƒ implementaศ›i software-ul รฎntr-un mediu nou atunci cรขnd testele trec.
  • Jenkins vฤƒ poate programa testele sฤƒ ruleze la o anumitฤƒ orฤƒ.
  • Puteศ›i salva istoricul execuศ›iei ศ™i rapoartele de testare.
  • Jenkins รฎl sprijinฤƒ pe Maven pentru construirea ศ™i Testarea un proiect รฎn continuฤƒ integrare.

รŽn ce este Maven Selenium?

Maven este un instrument puternic de gestionare a proiectelor/construcศ›iilor, bazat pe conceptul unui POM (Project Object Model) care include informaศ›ii despre proiect ศ™i informaศ›ii de configurare pentru Maven, cum ar fi directorul de construcศ›ie, directorul sursฤƒ, dependenศ›a, directorul sursฤƒ de testare, obiectivele, pluginurile etc. .

De ce Maven & Jenkins

Selenium WebDriver este excelent pentru automatizarea browserului. Dar, atunci cรขnd รฎl folosiศ›i pentru testare ศ™i construirea unui cadru de testare, se simte sub putere. Integrarea Maven cu Selenium oferฤƒ urmฤƒtoarele beneficii
Apache Maven oferฤƒ suport pentru gestionarea รฎntregului ciclu de viaศ›ฤƒ al unui proiect de testare.

  • Maven este folosit pentru a defini structura proiectului, dependenศ›ele, construirea ศ™i managementul testelor.
  • Folosind pom.xml(Maven) puteศ›i configura dependenศ›ele necesare pentru testarea ศ™i rularea codului.
  • Maven descarcฤƒ automat fiศ™ierele necesare din depozit รฎn timp ce construieศ™te proiectul.

Cum sฤƒ instalezi Maven ศ™i sฤƒ-l foloseศ™ti cu TestNG Selenium

Iatฤƒ paศ™ii pentru a instala Maven ศ™i a-l utiliza TestNG Selenium

Pentru acest tutorial, vom folosi Eclipse (Juno) IDE pentru Java Dezvoltatori de configurat Selenium Proiect WebDriver. รŽn plus, trebuie sฤƒ adฤƒugฤƒm pluginul m2eclipse la Eclipse pentru a facilita procesul de construire ศ™i pentru a crea fiศ™ierul pom.xml.
Sฤƒ adฤƒugฤƒm pluginul m2eclipse la Eclipse cu urmatorii pasi:

Pas 1) In Eclipse IDE, selectaศ›i Ajutor | Instalaศ›i software nou de la Eclipse Meniu principal.

Pas 2) รŽn caseta de dialog Instalare, introduceศ›i adresa URL https://www.eclipse.org/m2e/. Selectaศ›i Lucreaza cu ศ™i pluginul m2e, aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 3) Faceลฃi clic pe Pagina Urmฤƒtoare โ†’ butonul ศ™i finalizaศ›i instalarea.

Configuraศ›i Eclipse cu Maven

Cu pluginul m2e instalat, acum trebuie sฤƒ creฤƒm proiectul Maven.

Pas 1) In Eclipse IDE, creaศ›i un nou proiect selectรขnd Fiศ™ier | Nou | Altele de la Eclipse meniu.

Pas 2) Pe Nou , selectaศ›i Maven | Proiectul Maven ศ™i faceศ›i clic pe Urmฤƒtorul

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 3) Pe Noul proiect Maven dialog selectaศ›i Creaศ›i un proiect simplu ศ™i faceศ›i clic pe Urmฤƒtorul

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 4) Introduceศ›i WebdriverTest รฎn ID grup: ศ™i Id. artefact: ศ™i faceศ›i clic pe Terminare

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 5) Eclipse va crea WebdriverTest cu urmฤƒtoarea structurฤƒ:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Seleniuml

Pas 6) Faceศ›i clic dreapta pe Biblioteca de sistem JRE ศ˜i selectaศ›i Proprietฤƒลฃi opศ›iune din meniu.

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pe Proprietฤƒศ›i pentru biblioteca de sistem JRE caseta de dialog, asiguraศ›i-vฤƒ JRE implicit pentru spaศ›iul de lucru este selectat ศ™i faceศ›i clic pe OK

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 7). Selecta pom.xml de la Explorator de proiecte..

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Fiศ™ierul pom.xml se va deschide รฎn secศ›iunea Editor

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 8) Adauga Selenium, Maven, TestNG, Junit dependenศ›e de pom.xml รฎn nodul:

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

Pas 9) Creaza un nou TestNG Clasฤƒ. Introduceศ›i numele pachetului ca โ€žexempluโ€ ศ™i โ€žNewTestโ€ รฎn Nume: caseta de text ศ™i faceศ›i clic pe finalizarea butonul aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 10). Eclipse va crea clasa NewTest aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 11) Adฤƒugaศ›i urmฤƒtorul cod la NewTest clasฤƒ:

Acest cod va verifica titlul lui Guru99 Selenium Paginฤƒ

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

Pas 12) Faceศ›i clic dreapta pe WebdriverTest ศ™i selectaศ›i TestNG | Schimba in TestNG.
Eclipse va crea testng.xml care spune cฤƒ trebuie sฤƒ rulaศ›i un singur test cu numele NewTest aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Actualizaศ›i proiectul ศ™i asiguraศ›i-vฤƒ cฤƒ acel fiศ™ier apare รฎn arbore Pachet Explorer (clic dreapta pe proiect โ€“ Refresh).

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 13) Acum trebuie sฤƒ faceศ›i un test prin asta testng.xml.

Deci, du-te la Rulaศ›i Configuraศ›ii ศ™i creaศ›i o nouฤƒ lansare TestNG, selectaศ›i proiectul ศ™i cรขmpul Suitฤƒ as testng.xml ศ™i faceศ›i clic pe Run

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Asiguraศ›i-vฤƒ cฤƒ construcศ›ia s-a terminat cu succes.

Pas 14). รŽn plus, trebuie sฤƒ adฤƒugฤƒm

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

la pom.xml.

Pluginul maven-surefire este folosit pentru a configura ศ™i executa teste. Aici pluginul este folosit pentru a configura testing.xml pentru TestNG testaศ›i ศ™i generaศ›i rapoarte de testare.

Plugin-ul maven-compiler este folosit pentru a ajuta la compilarea codului ศ™i la utilizarea versiunii JDK specifice pentru compilare. Adฤƒugaศ›i toate dependenศ›ele din urmฤƒtorul fragment de cod, la pom.xml din fiศ™ierul nodul:

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Pas 15) Pentru a rula the teste รฎn ciclul de viaศ›ฤƒ Maven, faceศ›i clic dreapta pe WebdriverTest ศ™i selectaศ›i Run As | Testul Maven. Maven va executa testul din proiect.

Instaleazฤƒ Maven ศ™i foloseศ™te-l cu TestNG Selenium

Asiguraศ›i-vฤƒ cฤƒ construcศ›ia s-a terminat cu succes.

Cum se integreazฤƒ Jenkins cu Selenium webdriver

Iatฤƒ paศ™ii pentru a instala Jenkins ศ™i a-l configura sฤƒ ruleze Maven cu TestNg Selenium

Instalare

Pas 1) Acceseazฤƒ http://jenkins-ci.org/ ศ™i descฤƒrcaศ›i pachetul corect pentru sistemul dvs. de operare. Instalaศ›i Jenkins.

Integrarea lui Jenkins cu Selenium webdriver

Pas 2) Dezarhivaศ›i Jenkins รฎn folderul specificat. Rulaศ›i fiศ™ierul exe aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Integrarea lui Jenkins cu Selenium webdriver

Pas 3) In Configurare Jenkins 1.607 faceศ›i clic pe fereastra Pagina Urmฤƒtoare โ†’ butonul.

Integrarea lui Jenkins cu Selenium webdriver

Pas 4) Faceลฃi clic pe Instalare butonul la final.

Integrarea lui Jenkins cu Selenium webdriver

Pas 5) Odatฤƒ ce instalarea este finalizatฤƒ, navigaศ›i la Jenkins Dashboard (http://localhost:8080 รฎn mod implicit) รฎn fereastra browserului.

Integrarea lui Jenkins cu Selenium webdriver

Pas 6) Dati click pe Postul nouฤƒ link pentru a crea un loc de muncฤƒ CI.

Integrarea lui Jenkins cu Selenium webdriver

Pas 7) Selectaศ›i butonul radio al proiectului Maven, aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Integrarea lui Jenkins cu Selenium webdriver

Utilizarea Build a Proiectul Maven Opศ›iunea, Jenkins acceptฤƒ construirea ศ™i testarea proiectelor Maven.

Pas 8) Faceศ›i clic pe butonul OK. Un nou job cu numele โ€žWebdriverTestโ€ este creat รฎn Jenkins Dashboard.

Integrarea lui Jenkins cu Selenium webdriver

Pas 9) Acceseazฤƒ Gestionaศ›i Jenkins => Configuraศ›i sistemul aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran.

Integrarea lui Jenkins cu Selenium webdriver

Faceศ›i clic pe instalฤƒri JDK ศ™i configuraศ›i JDK ca รฎn urmฤƒtoarea capturฤƒ de ecran:

Integrarea lui Jenkins cu Selenium unitate web

Pas 10) Du-te la Construi secศ›iunea noului loc de muncฤƒ.

  • รŽn Root POM caseta text, introduceศ›i calea completฤƒ cฤƒtre pom.xml
  • รŽn secศ›iunea Obiective ศ™i opศ›iuni, introduceศ›i โ€žtest curatโ€
  • Integrarea lui Jenkins cu Selenium webdriver

Pas 11) Faceลฃi clic pe Aplicฤƒ butonul.

Integrarea lui Jenkins cu Selenium webdriver

Pas 12) Pe pagina proiectului WebdriverTest, faceศ›i clic pe Construieศ™te acum link-ul.

Integrarea lui Jenkins cu Selenium webdriver

Maven va construi proiectul. Va avea atunci TestNG executa cazurile de testare.

Pas 13) Odatฤƒ ce procesul de construire este finalizat, รฎn Jenkins Dashboard faceศ›i clic pe WebdriverTest proiect

Integrarea lui Jenkins cu Selenium webdriver

Pas 14) Pagina proiectului WebdriverTest afiศ™eazฤƒ istoricul construcศ›iei ศ™i link-uri cฤƒtre rezultate, aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Integrarea lui Jenkins cu Selenium webdriver

Pas 15) Faceศ›i clic pe linkul โ€žUltimul rezultat al testuluiโ€ pentru a vedea rezultatele testului, aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran:

Integrarea lui Jenkins cu Selenium webdriver

Pas 16). Selectaศ›i o anumitฤƒ versiune ศ™i veศ›i vedea starea curentฤƒ fฤƒcรขnd clic pe โ€žieศ™irea consolei".

Integrarea lui Jenkins cu Selenium webdriver

Programarea Jenkins pentru execuศ›ie automatฤƒ.

Programarea versiunilor (Selenium Teste) este una dintre caracteristicile importante ale Jenkins unde declanศ™eazฤƒ automat construcศ›ia, pe baza unor criterii definite. Jenkins oferฤƒ mai multe moduri de a declanศ™a procesul de construire รฎn configuraศ›ia Build Trigger.

De exemplu:
Introduceศ›i 0 23 * * * รฎn caseta de text Schedule, aศ™a cum se aratฤƒ รฎn urmฤƒtoarea capturฤƒ de ecran. Acest lucru va declanศ™a procesul de construire รฎn fiecare zi la ora 11:XNUMX

Jenkins pentru execuศ›ie automatฤƒ

Folosind Jenkings fฤƒrฤƒ Maven

Pentru a rula un script TestNg pur รฎn Jenkins, introduceศ›i urmฤƒtoarele รฎn build

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

Jenkins pentru execuศ›ie automatฤƒ

  • Faceศ›i clic pe butonul Salvare.
  • Notฤƒ: Calea actualฤƒ a folderului lib ศ™i bin trebuie adฤƒugatฤƒ รฎn comanda de mai sus.
  • Dupฤƒ salvarea comenzii, Jenkins va construi proiectul รฎntr-un timp predefinit, iar aceastฤƒ comandฤƒ va fi rulatฤƒ folosind TestNG.
  • Rezultatul va fi stocat รฎntr-un fiศ™ier HTML de raport personalizat care poate fi trimis prin e-mail cu o configuraศ›ie Jenkin
  • Ieศ™irea codului va fi

Jenkins pentru execuศ›ie automatฤƒ

Beneficiile utilizฤƒrii Jenkins

  1. Depistarea timpurie a problemelor โ€“ Bug poate fi detectat รฎn faza incipientฤƒ a dezvoltฤƒrii software
  2. Integrare automatฤƒ โ€“ nu este necesar un efort separat pentru a integra toate modificฤƒrile
  3. Instalator โ€“ un sistem implementabil disponibil รฎn orice punct de dezvoltare
  4. รŽnregistrฤƒri โ€“ รฎnregistrฤƒrile de construcศ›ie parศ›ialฤƒ pฤƒstrate
  5. Suport ศ™i pluginuri: Unul dintre motivele popularitฤƒศ›ii lui Jenkin este disponibilitatea suportului comunitฤƒศ›ii mari. De asemenea, sunt disponibile o mulศ›ime de plugin-uri gata fฤƒcute care vฤƒ ajutฤƒ sฤƒ-i extindeศ›i funcศ›ionalitatea.

Rezumaศ›i aceastฤƒ postare cu: