Selenium Integrare cu Maven și Jenkins

⚡ Rezumat inteligent

Maven Jenkins Selenium Integrarea creează o conductă automată de testare continuă în care Maven gestionează dependențele și ciclul de viață al proiectului, Jenkins programează și declanșează construcții și Selenium execută teste de browser, producând automatizare web end-to-end repetabilă, fiabilă și scalabilă.

  • 📦 Rolul Maven: Maven 3.x gestionează dependențele, ciclul de viață al construcției și pluginurile prin pom.xml, eliminând gestionarea manuală a JAR-urilor pentru Selenium proiecte.
  • 🔁 Jenkins Rol: Jenkins Programări LTS Selenium suite, monitorizează modificările SCM și declanșează rulări automate de regresie la fiecare commit sau cron nocturn.
  • 🚀 Putere prin conductă: Combinând Maven, Jenkins, Selenium și TestNG formează o buclă CI/CD completă care detectează defectele în câteva minute de la modificarea codului.
  • Raportarea: Rapoarte Surefire plus Jenkins construiește istorie dăruiește tracRezultate ale testelor ușor de partajat, cu ieșire în consolă și tablouri de bord HTML.
  • 🧪 Îmbunătățirea AI: Pluginurile moderne de inteligență artificială prioritizează testele afectate, prezic cazuri instabile și le reduc. Jenkins cicluri de feedback în interior Selenium conducte.

Maven & Jenkins Integrarea cu Selenium

Ce Este Jenkins in Selenium?

Jenkins este principalul instrument de integrare continuă open-source, dezvoltat inițial de laboratorul Hudson. Este multiplatformă și rulează pe Windows, Linux, macOS și Solaris medii. Jenkins este scris în Java și este acum distribuit ca Jenkins LTS pentru utilizare stabilă în producție. Utilizarea sa principală este monitorizarea oricărui job, care poate fi o verificare SCM, o programare cron sau orice stare a aplicației. Jenkins declanșează acțiuni preconfigurate atunci când are loc un anumit pas în cadrul joburilor.

Caracteristici importante ale Jenkins

  • Asistență pentru schimbare: Jenkins generează lista tuturor modificărilor efectuate în repozitorii precum Git sau SVN.
  • Link-uri permanente: Jenkins oferă linkuri directe către cea mai recentă versiune sau către ultima versiune eșuată, ceea ce simplifică comunicarea în echipă.
  • Instalare: Jenkins este ușor de instalat folosind un program de instalare nativ, un fișier WAR implementat pe un server de aplicații sau o imagine Docker.
  • Integrare e-mail: Jenkins poate fi configurat să trimită prin e-mail conținutul și starea fiecărei versiuni.
  • Configurare usoara: Configurarea diverselor sarcini pe Jenkins este simplu prin intermediul tabloului de bord web.
  • TestNG De încercare: Jenkins poate fi configurat pentru a rula versiunea de testare automată pe TestNG după fiecare commit în repozitoriu.
  • Mai multe VM: Jenkins poate distribui build-uri pe mai multe mașini cu agenți.
  • Construcția proiectului: Jenkins documentează detaliile JAR-urilor, versiunilor JAR și hărțiiping de la numerele de construcție la artefacte.
  • Plugin-uri: 3rd Pluginurile de petrecere pot fi adăugate în Jenkins pentru a extinde caracteristicile și funcționalitățile suplimentare.

De ce Jenkins și Selenium?

  • Alergare Selenium teste în Jenkins vă permite să executați testele de fiecare dată când software-ul se modifică și să implementați software-ul într-un mediu nou atunci când testele sunt satisfăcute.
  • Jenkins vă puteți programa Selenium teste care să se execute la un anumit moment.
  • Puteți salva istoricul execuției și rapoartele de testare pentru tracebilitate.
  • Jenkins suportă Maven pentru construirea și Testarea un proiect în continuă integrare.

În ce este Maven Selenium?

Maven este un instrument puternic de gestionare a proiectelor și a build-urilor, bazat pe conceptul de POM (Project Object Model - Model de Obiecte de Proiect), care include informații despre proiect și date de configurare pentru Maven, cum ar fi directorul de build, directorul sursă, dependențele, directorul sursă de testare, obiectivele, plugin-urile și multe altele. Maven 3.x este linia stabilă actuală, utilizată pe scară largă în... Selenium cadre de testare.

De ce Maven și Jenkins

Selenium WebDriver este excelent pentru automatizarea browserelor. Dar, atunci când este folosit pentru testare și construirea unui framework de testare, poate părea insuficient. 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 construirea, testarea și rularea codului.
  • Maven descarcă automat fișierele necesare din depozitul central în timp ce construiește proiectul.

Cum să instalezi Maven și să-l folosești cu TestNG Selenium

Iată pașii pentru instalarea Maven și utilizarea acestuia TestNG Selenium.

Pentru acest tutorial, vom folosi Eclipse (Juno) IDE pentru Java Dezvoltatori pentru a configura Selenium Proiectul WebDriver. În plus, trebuie să adăugăm pluginul m2eclipse la Eclipse pentru a facilita procesul de construire și 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 URL https://www.eclipse.org/m2e/. Selecta 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) Dati click pe Pagina Următoare → butonul și finalizați instalarea.

Configurați Eclipse cu Maven

Cu pluginul m2e instalat, trebuie acum să creăm un proiect 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 selectare dialog 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 finalizare.

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ți 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 și 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 câmpul 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 clasa. Acest cod va verifica titlul clasei Guru99 Selenium .

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 proiectul WebdriverTest și selectați TestNG | Schimba in TestNG.
Eclipse va crea fișierul testng.xml care precizează 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ă fișierul apare în arbore Pachet Explorer (clic dreapta pe proiect – Refresh).

Instalează Maven și folosește-l cu TestNG Selenium

Pas 13) Acum trebuie să rulezi testul prin asta testng.xml.

Deci, du-te la Rulați Configurații și creați o nouă lansare TestNG, selectați proiectul, setați câmpul Suită as testng.xmlși faceți clic pe Executare.

Instalează Maven și folosește-l cu TestNG Selenium

Asigurați-vă că construcția se termină cu succes.

Pas 14) În plus, trebuie să adăugăm

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

către pom.xml.

Pluginul maven-surefire este utilizat pentru configurarea și executarea testelor. Aici, pluginul este utilizat pentru configurarea fișierului testing.xml pentru TestNG testați și generați rapoarte de testare.

Pluginul maven-compiler este utilizat pentru a ajuta la compilarea codului și pentru a utiliza o anumită versiune de JDK pentru compilare. Adăugați toate dependențele din următorul fragment de cod la fișierul pom.xml din nodul:

Instalează Maven și folosește-l cu TestNG Selenium

Pas 15) Pentru a rula testele în ciclul de viață Maven, faceți clic dreapta pe proiectul WebdriverTest și selectați Run As | Testul MavenMaven va executa testul din proiect.

Instalează Maven și folosește-l cu TestNG Selenium

Asigurați-vă că construcția se termină cu succes.

Cum se integrează Jenkins implementate cu Selenium webdriver

Iată pașii de instalare Jenkins LTS și configurați-l să ruleze Maven cu TestNG Selenium.

Instalare

Pas 1) Accesează https://www.jenkins.io/download/ și descarcă corect Jenkins Pachet LTS pentru sistemul dvs. de operare. Instalați Jenkins.

Integrarea Jenkins cu Selenium webdriver

Pas 2) Unzip Jenkins într-un folder specificat. Rulați fișierul exe așa cum se arată în următoarea captură de ecran:

Integrarea Jenkins cu Selenium webdriver

Pas 3) În Jenkins Configurarea faceți clic pe fereastra Pagina Următoare → butonul.

Integrarea Jenkins cu Selenium webdriver

Pas 4) Dati click pe Instalare butonul de la sfârșit.

Integrarea Jenkins cu Selenium webdriver

Pas 5) După ce instalarea este finalizată, navigați la Jenkins Tabloul de bord (http://localhost:8080 în mod implicit) în fereastra browserului.

Integrarea Jenkins cu Selenium webdriver

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

Integrarea 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 Jenkins cu Selenium webdriver

Utilizarea Build a Proiectul Maven opțiune, Jenkins susține construirea și testarea proiectelor Maven.

Pas 8) Faceți clic pe butonul OK. O nouă lucrare numită „WebdriverTest” este creată în Jenkins Tablou de bord.

Integrarea Jenkins cu Selenium webdriver

Pas 9) Accesează Administrare Jenkins => Configurați sistemul așa cum se arată în următoarea captură de ecran.

Integrarea Jenkins cu Selenium webdriver

Faceți clic pe instalări JDK și configurați JDK ca în următoarea captură de ecran:

Integrarea Jenkins cu Selenium unitate web

Pas 10) Du-te la Construi secțiune a noului loc de muncă.

  • În Root POM casetă de text, introduceți calea completă către pom.xml
  • În secțiunea Obiective și opțiuni, introduceți „test curat”

Integrarea Jenkins cu Selenium webdriver

Pas 11) Dati click pe Aplică butonul.

Integrarea Jenkins cu Selenium webdriver

Pas 12) Pe pagina proiectului WebdriverTest, faceți clic pe Construiește acum link-ul.

Integrarea 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 Dați clic pe panoul de control WebdriverTest proiect.

Integrarea 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 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 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 Jenkins cu Selenium webdriver

Programare Jenkins pentru execuție automată

Programarea construcțiilor (Selenium teste) este una dintre caracteristicile importante ale Jenkins, unde declanșează automat construirea pe baza unor criterii definite. Jenkins oferă mai multe modalități de declanșare a procesului de compilare î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ă

Utilizarea Jenkins fără Maven

Pentru a rula o metodă pură TestNG script în Jenkins, introduceți următoarele în compilare:

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 reală a folderelor lib și bin trebuie adăugată în comanda de mai sus.
  • După salvarea comenzii, Jenkins va construi proiectul la momentul predefinit, iar această comandă va fi executată folosind TestNG.
  • Rezultatul va fi stocat într-un fișier de raport HTML personalizat, care poate fi trimis prin e-mail utilizând un Jenkins configurare.
  • Rezultatul codului va fi:

Jenkins pentru execuție automată

Beneficiile utilizării Jenkins

  1. Identificarea timpurie a problemelor – erorile pot fi detectate în faza incipientă a dezvoltării software-ului.
  2. Integrare automată – nu este necesar niciun efort separat pentru a integra toate modificările.
  3. Instalator – un sistem implementabil disponibil în orice punct al dezvoltării.
  4. Înregistrări – se păstrează înregistrările construcțiilor anterioare.
  5. Suport și pluginuri – unul dintre motivele pentru care JenkinsPopularitatea lui constă în disponibilitatea unui suport comunitar extins. Sunt disponibile și o mulțime de plugin-uri predefinite care vă ajută să extindeți funcționalitatea sa.

Întrebări frecvente

Maven gestionează dependențele și ciclul de viață al construcției, Selenium controlează browserul și Jenkins orchestrează execuția. Împreună, acestea formează o conductă CI completă care compilează codul, descarcă fișierele JAR necesare, rulează Selenium teste și publică automat rapoarte la fiecare commit.

Folosește Maven 3.x pentru gestionarea dependențelor și a build-urilor și Jenkins LTS pentru integrare continuă stabilă. Aceste versiuni oferă suport pe termen lung, patch-uri de securitate și compatibilitate largă cu plugin-uri pentru Selenium Driver web, TestNGși plugin-uri de raportare Surefire.

Da. Jenkins folosește sintaxa în stil cron în secțiunea Build Triggers pentru a programa Selenium suite. De exemplu, 0 23 * * * rulează suita în fiecare seară la ora 23:00 Jenkins poate declanșa, de asemenea, build-uri pe baza sondajelor SCM sau a evenimentelor webhook.

Testare virtuală a produselor Jenkins Pluginurile prezic teste instabile, ajustează automat agenții de compilare și detectează anomalii în jurnalele consolei. Acestea reduc zgomotul din conductă, accelerează feedback-ul și sugerează o paralelizare optimă, ceea ce menține Selenium suite fiabile pe măsură ce numărul de teste crește la mii.

Da. Analiza impactului testelor bazată pe inteligență artificială mapează modificările de cod la cele afectate Selenium scenarii și rulează doar subsetul relevant din JenkinsAcest lucru scurtează ciclurile de feedback, reduce costul infrastructurii și menține acoperirea completă prin programarea unei regresii complete la versiunile nocturne.

Rezumați această postare cu: