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:
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
Pas 3) Pe Noul proiect Maven dialog selectaศi 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 Terminare
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 pom.xml de la Explorator de proiecte..
Fiศierul pom.xml se va deschide รฎn secศiunea Editor
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:
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 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:
Actualizaศi proiectul ศi asiguraศi-vฤ cฤ acel fiศier apare รฎn arbore Pachet Explorer (clic dreapta pe proiect โ Refresh).
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
Asiguraศi-vฤ cฤ construcศia s-a terminat cu succes.
Pas 14). รn plus, trebuie sฤ adฤugฤm
- maven-compiler-plugin
- maven-surfire-plugin
- 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:
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.
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.
Pas 2) Dezarhivaศi Jenkins รฎn folderul specificat. Rulaศi fiศierul exe aศa cum se aratฤ รฎn urmฤtoarea capturฤ de ecran:
Pas 3) In Configurare Jenkins 1.607 faceศi clic pe fereastra Pagina Urmฤtoare โ butonul.
Pas 4) Faceลฃi clic pe Instalare butonul la final.
Pas 5) Odatฤ ce instalarea este finalizatฤ, navigaศi la Jenkins Dashboard (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ศ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.
Pas 9) Acceseazฤ Gestionaศi 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ศ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โ
Pas 11) Faceลฃi clic 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 Dashboard faceศi clic pe 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".
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
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
- 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
Beneficiile utilizฤrii Jenkins
- Depistarea timpurie a problemelor โ Bug poate fi detectat รฎn faza incipientฤ a dezvoltฤrii software
- Integrare automatฤ โ nu este necesar un efort separat pentru a integra toate modificฤrile
- Instalator โ un sistem implementabil disponibil รฎn orice punct de dezvoltare
- รnregistrฤri โ รฎnregistrฤrile de construcศie parศialฤ pฤstrate
- 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.




































