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

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:
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.
Pas 3) Pe Noul proiect Maven selectare dialog Creați un proiect simplu și faceți clic pe Următorul.
Pas 4) Introduceți WebdriverTest în ID grup: și Id. artefact: și faceți clic pe finalizare.
Pas 5) Eclipse va crea WebdriverTest cu următoarea structură:
Pas 6) Faceți clic dreapta pe Biblioteca de sistem JRE Și selectați Proprietăţi opțiune din meniu.
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.
Pas 7) Selectați pom.xml de la Explorator de proiecte.
Fișierul pom.xml se va deschide în secțiunea Editor.
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:
Pas 10) Eclipse va crea clasa NewTest așa cum se arată în următoarea captură de ecran:
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:
Actualizați proiectul și asigurați-vă că fișierul apare în arbore Pachet Explorer (clic dreapta pe proiect – Refresh).
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.
Asigurați-vă că construcția se termină cu succes.
Pas 14) În plus, trebuie să adăugăm
- maven-compiler-plugin
- maven-surfire-plugin
- 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:
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.
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.
Pas 2) Unzip Jenkins într-un folder specificat. Rulați fișierul exe așa cum se arată în următoarea captură de ecran:
Pas 3) În Jenkins Configurarea faceți clic pe fereastra Pagina Următoare → butonul.
Pas 4) Dati click pe Instalare butonul de la sfârșit.
Pas 5) După ce instalarea este finalizată, navigați la Jenkins Tabloul de bord (http://localhost:8080 în mod implicit) în fereastra browserului.
Pas 6) Dati click pe Postul nouă link pentru a crea un loc de muncă CI.
Pas 7) Selectați butonul radio al proiectului Maven, așa cum se arată în următoarea captură de ecran:
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.
Pas 9) Accesează Administrare Jenkins => Configurați sistemul așa cum se arată în următoarea captură de ecran.
Faceți clic pe instalări JDK și configurați JDK ca în următoarea captură de ecran:
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”
Pas 11) Dati click pe Aplică butonul.
Pas 12) Pe pagina proiectului WebdriverTest, faceți clic pe Construiește acum link-ul.
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.
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:
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:
Pas 16) Selectați o anumită versiune și veți vedea starea curentă făcând clic pe „ieșirea consolei".
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
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
- 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:
Beneficiile utilizării Jenkins
- Identificarea timpurie a problemelor – erorile pot fi detectate în faza incipientă a dezvoltării software-ului.
- Integrare automată – nu este necesar niciun efort separat pentru a integra toate modificările.
- Instalator – un sistem implementabil disponibil în orice punct al dezvoltării.
- Înregistrări – se păstrează înregistrările construcțiilor anterioare.
- 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.




































