Selenium Integracija s Mavenom i Jenkins
โก Pametni saลพetak
Maven Jenkins Selenium integracija stvara automatizirani cjevovod kontinuiranog testiranja gdje Maven upravlja ovisnostima projekta i ลพivotnim ciklusom, Jenkins zakazuje i pokreฤe izgradnje, i Selenium izvrลกava testove preglednika, stvarajuฤi ponovljivu, pouzdanu i skalabilnu end-to-end web automatizaciju.

ล to je Jenkins in Selenium?
Jenkins je vodeฤi alat za kontinuiranu integraciju otvorenog koda koji je izvorno razvio Hudsonov laboratorij. Viลกeplatformski je i radi na Windows, Linux, macOSi Solaris okruลพenja. Jenkins piลกe u Java i sada se distribuira kao Jenkins LTS za stabilnu produkcijsku upotrebu. Njegova glavna upotreba je praฤenje bilo kojeg posla, ลกto moลพe biti SCM provjera, cron raspored ili bilo koje stanje aplikacije. Jenkins aktivira unaprijed konfigurirane akcije kada se odreฤeni korak dogodi u poslovima.
Vaลพne znaฤajke Jenkins
- Promjena podrลกke: Jenkins generira popis svih promjena napravljenih u repozitorijima kao ลกto su Git ili SVN.
- Stalne veze: Jenkins pruลพa izravne poveznice na najnoviju ili posljednju neuspjelu verziju, ลกto pojednostavljuje komunikaciju tima.
- Instalacija: Jenkins Jednostavno se instalira pomoฤu izvornog instalacijskog programa, WAR datoteke rasporeฤene na aplikacijskom posluลพitelju ili Docker slike.
- Integracija e-poลกte: Jenkins moลพe se konfigurirati za slanje sadrลพaja i statusa svake izrade putem e-poลกte.
- Jednostavna konfiguracija: Konfiguriranje raznih zadataka na Jenkins je jednostavno putem web nadzorne ploฤe.
- TestNG Test: Jenkins moลพe se konfigurirati za pokretanje automatiziranog testa na TestNG nakon svakog commita u repozitorij.
- Viลกe VM-ova: Jenkins moลพe distribuirati izgradnje na viลกe agentskih raฤunala.
- Izrada projekta: Jenkins dokumentira detalje JAR-ova, JAR verzija i karteping brojeva izrade artefakata.
- dodaci: 3rd mogu se dodati dodaci za zabave Jenkins za proลกirenje znaฤajki i dodatne funkcionalnosti.
Zaลกto Jenkins i Selenium?
- Trฤanje Selenium testovi u Jenkins omoguฤuje vam izvrลกavanje testova svaki put kada se softver promijeni i implementaciju softvera u novo okruลพenje kada testovi proฤu.
- Jenkins moลพete zakazati svoj Selenium testovi koji se pokreฤu u odreฤeno vrijeme.
- Moลพete spremiti povijest izvrลกavanja i izvjeลกฤa o testiranju za traclakoฤa.
- Jenkins podrลพava Maven za izgradnju i Ispitivanje projekt u kontinuiranoj integraciji.
U ฤemu je Maven Selenium?
Maven je moฤan alat za upravljanje projektima i izgradnjama temeljen na konceptu POM-a (Project Object Model) koji ukljuฤuje informacije o projektu i konfiguracijske podatke za Maven, kao ลกto su direktorij za izgradnju, izvorni direktorij, ovisnosti, direktorij za testni izvorni kod, ciljevi, dodaci i drugo. Maven 3.x je trenutna stabilna linija, ลกiroko koriลกtena u Selenium okviri za testiranje.
Zaลกto Maven i Jenkins
Selenium WebDriver je odliฤan za automatizaciju preglednika. Ali, kada se koristi za testiranje i izgradnju testnog okvira, moลพe se ฤiniti nedovoljno moฤnim. Integracija Mavena s Selenium pruลพa sljedeฤe pogodnosti.
Apache Maven pruลพa podrลกku za upravljanje punim ลพivotnim ciklusom testnog projekta.
- Maven se koristi za definiranje strukture projekta, ovisnosti, izgradnju i upravljanje testiranjem.
- Pomoฤu pom.xml (Maven) moลพete konfigurirati ovisnosti potrebne za izgradnju, testiranje i pokretanje koda.
- Maven automatski preuzima potrebne datoteke iz centralnog repozitorija tijekom izgradnje projekta.
Kako instalirati Maven i koristiti ga s TestNG Selenium
Evo su koraci za instalaciju Mavena i njegovo koriลกtenje s TestNG Selenium.
Za ovaj vodiฤ koristit ฤemo Eclipse (Juno) IDE za Java Programeri za postavljanje Selenium Projekt WebDriver. Osim toga, moramo dodati dodatak m2eclipse u Eclipse kako bi se olakลกao proces izgradnje i stvorila datoteka pom.xml.
Dodajmo dodatak m2eclipse u Eclipse sa sljedeฤim koracima:
Korak 1) In Eclipse IDE, odaberite Pomoฤ | Instalirajte novi softver od Eclipse glavni izbornik.
Korak 2) U dijalogu za instalaciju unesite URL https://www.eclipse.org/m2e/. Odabrati Raditi sa i m2e dodatak kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 3) Kliknite na Sljedeฤi gumb i dovrลกite instalaciju.
konfigurirati Eclipse s Mavenom
Nakon ลกto je m2e dodatak instaliran, sada moramo kreirati Maven projekt.
Korak 1) In Eclipse IDE, kreirajte novi projekt odabirom file | Novo | Ostalo od Eclipse Izbornik.
Korak 2) Na Novo dijaloลกki okvir, odaberite Maven | Projekt Maven i kliknite Dalje.
Korak 3) Na Novi projekt Maven odabir dijaloga Napravite jednostavan projekt i kliknite Dalje.
Korak 4) Unesite WebdriverTest ID grupe: i Id artefakta: i kliknite zavrลกi.
Korak 5) Eclipse ฤe stvoriti WebdriverTest sa sljedeฤom strukturom:
Korak 6) Desnom tipkom miลกa kliknite Knjiลพnica JRE sustava I odaberite Nekretnine opciju iz izbornika.
Na Svojstva za knjiลพnicu JRE sustava dijaloลกki okvir, provjerite Zadani JRE za radni prostor je odabrano i kliknite U redu.
Korak 7) odabrati pom.xml iz Istraลพivaฤ projekata.
Datoteka pom.xml otvorit ฤe se u odjeljku Editor.
Korak 8) Dodaj Selenium, Maven, TestNGi JUnit ovisnosti o pom.xml u ฤvor:
<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>
Korak 9) Napravite novu TestNG Klasa. Unesite naziv paketa kao โprimjerโ i โNoviTestโ u Ime: tekstualni okvir i kliknite na zavrลกiti gumb kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 10) Eclipse ฤe stvoriti klasu NewTest kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 11) Dodajte sljedeฤi kod u NovoTest razred. Ovaj ฤe kod provjeriti naslov Guru99 Selenium stranica.
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();
}
}
Korak 12) Desnom tipkom miลกa kliknite projekt WebdriverTest i odaberite TestNG | Pretvoriti u TestNG.
Eclipse ฤe stvoriti testng.xml u kojem piลกe da trebate pokrenuti samo jedan test s nazivom NovoTest kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Aลพurirajte projekt i provjerite da se datoteka pojavljuje u stablu Istraลพivaฤ paketa (desni klik na projekt โ Osvjeลพi).
Korak 13) Sada morate provesti test kroz ovo testng.xml.
Dakle, idite na Pokreni konfiguracije i kreirajte novo pokretanje TestNG, odaberite projekt, postavite polje Apartman as testng.xmli kliknite Pokreni.
Pobrinite se da izgradnja uspjeลกno zavrลกi.
Korak 14) Osim toga, moramo dodati
- maven-kompiler-plugin
- maven-surefire-plugin
- testng.xml
u pom.xml.
Maven-surefire-plugin se koristi za konfiguriranje i izvrลกavanje testova. Ovdje se dodatak koristi za konfiguriranje testing.xml datoteke za TestNG testirati i generirati izvjeลกฤa o ispitivanju.
Dodatak maven-compiler-plugin koristi se za pomoฤ pri kompajliranju koda i koriลกtenje odreฤene verzije JDK-a za kompajliranje. Dodajte sve ovisnosti iz sljedeฤeg isjeฤka koda u pom.xml u ฤvor:
Korak 15) Za pokretanje testova u Maven ลพivotnom ciklusu, desnom tipkom miลกa kliknite projekt WebdriverTest i odaberite Trฤati kao | Maven testMaven ฤe izvrลกiti test iz projekta.
Pobrinite se da izgradnja uspjeลกno zavrลกi.
Kako se integrirati Jenkins sa Selenium webdriver
Evo koraka za instalaciju Jenkins LTS i konfigurirajte ga za pokretanje Mavena s TestNG Selenium.
Montaลพa
Korak 1) Idi na https://www.jenkins.io/download/ i preuzmite ispravnu Jenkins LTS paket za vaลก OS. Instalirajte. Jenkins.
Korak 2) Otvoriti rajsfeลกlus Jenkins u odreฤenu mapu. Pokrenite exe datoteku kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 3) u Jenkins Postavljanje kliknite prozor Sljedeฤi tipku.
Korak 4) Kliknite na Instalirati gumb na kraju.
Korak 5) Nakon ลกto je instalacija zavrลกena, idite na Jenkins Nadzorna ploฤa (zadano je http://localhost:8080) u prozoru preglednika.
Korak 6) Kliknite na Nova stavka vezu za stvaranje CI posla.
Korak 7) Odaberite radio gumb projekta Maven kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Koriลกtenje Build a Projekt Maven opcija, Jenkins podrลพava izgradnju i testiranje Maven projekata.
Korak 8) Kliknite gumb U redu. U Jenkins Nadzorna ploฤa.
Korak 9) Idi na upravljati Jenkins => Konfigurirajte sustav kao ลกto je prikazano na sljedeฤoj snimci zaslona.
Kliknite JDK instalacije i konfigurirajte JDK kao na sljedeฤoj snimci zaslona:
Korak 10) Idi na Izgradi dio novog posla.
- u Korijen POM U tekstualno polje unesite punu putanju do datoteke pom.xml
- U odjeljku Ciljevi i opcije unesite โฤisti testโ
Korak 11) Kliknite na Korak po korak do prijave tipku.
Korak 12) Na stranici projekta WebdriverTest kliknite na Izgradite sada link.
Maven ฤe izgraditi projekt. Tada ฤe imati TestNG izvrลกite testne sluฤajeve.
Korak 13) Nakon ลกto je proces izgradnje zavrลกen, u Jenkins Kliknite na nadzornu ploฤu WebdriverTest Projekt.
Korak 14) Stranica projekta WebdriverTest prikazuje povijest izrade i veze na rezultate kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 15) Kliknite vezu "Najnoviji rezultat testa" za prikaz rezultata testa kao ลกto je prikazano na sljedeฤoj snimci zaslona:
Korak 16) Odaberite odreฤenu verziju i vidjet ฤete trenutni status klikom na "konzolni izlaz".
Zakazivanje Jenkins za automatsko izvrลกavanje
Zakazivanje izrada (Selenium testovi) jedna je od vaลพnih znaฤajki Jenkins, gdje automatski pokreฤe izgradnju na temelju definiranih kriterija. Jenkins pruลพa viลกe naฤina za pokretanje procesa izgradnje u konfiguraciji Okidaฤa izgradnje.
Na primjer:
Unesite 0 23 * * * u tekstualni okvir Raspored kao ลกto je prikazano na sljedeฤoj snimci zaslona. Ovo ฤe pokrenuti proces izgradnje svaki dan u 11 sata
Koriลกtenje Jenkins bez Mavena
Za pokretanje ฤistog TestNG skripta u Jenkins, unesite sljedeฤe u build:
D:>java -cp โPathtolibfolder\lib\*;Pathtobinfolder\binโ org.testng.TestNG testng.xml
- Kliknite na gumb Spremi.
- Napomena: U gornjoj naredbi potrebno je dodati stvarnu putanju mapa lib i bin.
- Nakon spremanja naredbe, Jenkins ฤe izgraditi projekt u unaprijed definirano vrijeme, a ova naredba ฤe se pokrenuti pomoฤu TestNG.
- Rezultat ฤe biti pohranjen u prilagoฤenoj HTML datoteci izvjeลกฤa koja se moลพe poslati e-poลกtom pomoฤu Jenkins konfiguracija.
- Izlaz koda ฤe biti:
Prednosti koriลกtenja Jenkins
- Rano otkrivanje problema โ greลกke se mogu otkriti u ranoj fazi razvoja softvera.
- Automatska integracija โ nije potreban zaseban napor za integraciju svih promjena.
- Instalacijski program โ sustav koji se moลพe primijeniti u bilo kojoj fazi razvoja.
- Zapisi โ ฤuvaju se zapisi o proลกlim izgradnjama.
- Podrลกka i dodaci โ jedan od razloga za JenkinsPopularnost je u dostupnosti velike podrลกke zajednice. Dostupno je i mnogo gotovih dodataka koji vam pomaลพu proลกiriti njegovu funkcionalnost.




































