Selenium Integratsioon Maveniga ja Jenkins

โšก Nutikas kokkuvรตte

Maven Jenkins Selenium Integratsioon loob automatiseeritud pideva testimise torujuhtme, kus Maven haldab projekti sรตltuvusi ja elutsรผklit, Jenkins ajakavade ja kรคivitab ehituste loomise ning Selenium teostab brauseriteste, luues korduva, usaldusvรครคrse ja skaleeritava otsast lรตpuni veebiautomaatika.

  • ๐Ÿ“ฆ Maveni roll: Maven 3.x haldab sรตltuvusi, ehituse elutsรผklit ja pluginaid pom.xml kaudu, eemaldades JAR-failide kรคsitsi kรคsitlemise Selenium projekte.
  • ๐Ÿ” Jenkins Roll: Jenkins LTS-i ajakavad Selenium sviite, jรคlgib SCM-i muudatusi ja kรคivitab automaatsed regressioonianalรผรผsid iga commit'i vรตi รถise croni korral.
  • ๐Ÿš€ Torujuhtme vรตimsus: Maveni รผhendamine, Jenkins, Seleniumja TestNG moodustab tรคieliku CI/CD tsรผkli, mis leiab vead minutite jooksul pรคrast koodi muutmist.
  • โœ… Aruandlus: Surefire'i aruanded pluss Jenkins ehita ajalugu andma tracKasutatavad ja jagatavad testitulemused konsooli vรคljundi ja HTML-armatuurlaudadega.
  • ๐Ÿงช Tehisintellekti tรคiustus: Kaasaegsed tehisintellekti pluginad seavad esikohale mรตjutatud testid, ennustavad ebakindlaid juhtumeid ja vรคhendavad Jenkins tagasiside tsรผklid sees Selenium torujuhtmed.

Maven & Jenkins Integratsioon koos Selenium

Mis on Jenkins in Selenium?

Jenkins on juhtiv avatud lรคhtekoodiga pideva integratsiooni tรถรถriist, mille algselt tรถรถtas vรคlja Hudsoni labor. See on platvormideรผlene ja tรถรถtab Windows, Linux macOSja Solaris Keskkondades. Jenkins on kirjutatud Java ja on nรผรผd levitatud jรคrgmiselt Jenkins LTS stabiilseks tootmiskasutuseks. Selle peamine kasutusala on mis tahes tรถรถ jรคlgimine, mis vรตib olla SCM-i vรคljaregistreerimine, croni ajakava vรตi mis tahes rakenduse olek. Jenkins kรคivitab eelkonfigureeritud toimingud, kui tรถรถdes toimub konkreetne samm.

Olulised omadused Jenkins

  • Muuda tugi: Jenkins genereerib nimekirja kรตigist muudatustest, mis on tehtud repositooriumides, nรคiteks Gitis vรตi SVN-is.
  • Pรผsilingid: Jenkins pakub otselinke viimasele vรตi viimasele ebaรตnnestunud versioonile, mis lihtsustab meeskonna suhtlust.
  • Paigaldus: Jenkins on lihtne paigaldada natiivse installija, rakendusserverisse juurutatud WAR-faili vรตi Dockeri kujutise abil.
  • Meili integreerimine: Jenkins saab konfigureerida iga ehituse sisu ja olekut e-postiga saatma.
  • Lihtne konfigureerimine: Erinevate รผlesannete konfigureerimine Jenkins on veebipรตhise armatuurlaua kaudu lihtne.
  • TestNG Test: Jenkins saab konfigureerida automatiseerimistestide ehituse kรคivitamiseks TestNG pรคrast iga repositooriumisse lisamist.
  • Mitu VM-i: Jenkins saab levitada jรคrke mitme agendi masina vahel.
  • Projekti ehitus: Jenkins dokumenteerib JAR-ide, JAR-versioonide ja kaardi รผksikasjadping ehitusnumbritest artefaktideni.
  • Plugins: 3rd peo pluginaid saab lisada Jenkins funktsioonide laiendamiseks ja lisavรตimaluste pakkumiseks.

Miks Jenkins ja Selenium?

  • Running Selenium testid Jenkins vรตimaldab teil teste kรคivitada iga kord, kui tarkvara muutub, ja juurutada tarkvara uude keskkonda, kui testid on edukad.
  • Jenkins saab oma ajakava ajastada Selenium testid, mis kรคivitatakse kindlal ajal.
  • Saate salvestada teostusajaloo ja testiaruanded tracvรตimekus.
  • Jenkins toetab Mavenit ehitamiseks ja Testimine pidevas integratsioonis olev projekt.

Milles Maven on Selenium?

Maven on vรตimas projekti- ja ehitushaldustรถรถriist, mis pรตhineb POM-i (projekti objektimudeli) kontseptsioonil ja sisaldab Maveni projektiteavet ja konfiguratsiooniandmeid, nรคiteks ehituskataloogi, lรคhtekoodikataloogi, sรตltuvusi, testi lรคhtekoodikataloogi, eesmรคrke, pluginaid ja palju muud. Maven 3.x on praegune stabiilne versioon, mida kasutatakse laialdaselt... Selenium testimisraamistikud.

Miks Maven ja Jenkins

Selenium WebDriver sobib suurepรคraselt brauseri automatiseerimiseks. Kuid testimiseks ja testimisraamistiku loomiseks vรตib see tunduda ebapiisav. Maveni integreerimine Selenium pakub jรคrgmisi eeliseid.
Apache Maven pakub tuge testprojekti kogu elutsรผkli haldamiseks.

  • Mavenit kasutatakse projekti struktuuri, sรตltuvuste, ehitamise ja testihalduse mรครคratlemiseks.
  • pom.xml (Maven) abil saate konfigureerida sรตltuvusi, mida on vaja koodi loomiseks, testimiseks ja kรคitamiseks.
  • Maven laadib projekti loomisel automaatselt vajalikud failid keskhoidlast alla.

Kuidas Mavenit installida ja koos sellega kasutada TestNG Selenium

Maveni installimise ja kasutamise sammud on jรคrgmised: TestNG Selenium.

Selle รตpetuse jaoks kasutame Eclipse (Juno) IDE jaoks Java Arendajad seadistavad Selenium WebDriver projekt. Lisaks peame lisama m2eclipse plugina Eclipse ehitusprotsessi hรตlbustamiseks ja pom.xml-faili loomiseks.
Lisame m2eclipse plugina siia Eclipse jรคrgmiste sammudega:

Step 1) In Eclipse IDE, valige aitama | Installige uus tarkvara alates Eclipse peamenรผรผ.

Step 2) Sisestage installidialoogiboksis URL https://www.eclipse.org/m2e/. Valima Tรถรถtama koos ja m2e plugin, nagu on nรคidatud jรคrgmisel ekraanipildil:

Installige Maven ja kasutage seda koos TestNG Selenium

Step 3) Klรตpsake jรคrgmine nuppu ja lรตpetage installimine.

Seadistamine Eclipse koos Maveniga

Kui m2e plugin on installitud, peame nรผรผd looma Maveni projekti.

Step 1) In Eclipse IDE, looge uus projekt, valides Fail | Uus | Muu alates Eclipse menรผรผ.

Step 2) Kohta Uus dialoogis valige Maven | Maven projekt ja klรตpsake nuppu Edasi.

Installige Maven ja kasutage seda koos TestNG Selenium

Step 3) Kohta Uus Maven projekt dialoogiboksi valimine Looge lihtne projekt ja klรตpsake nuppu Edasi.

Installige Maven ja kasutage seda koos TestNG Selenium

Step 4) Sisestage WebdriverTest Rรผhma ID: ja Artefakt Id: ja klรตpsake nuppu โ€žLรตpetaโ€.

Installige Maven ja kasutage seda koos TestNG Selenium

Step 5) Eclipse loob WebdriverTest jรคrgmise struktuuriga:

Installige Maven ja kasutage seda koos TestNG Seleniuml

Step 6) Paremklรตpsake JRE sรผsteemi raamatukogu Ja valige see Kinnisvara valik menรผรผst.

Installige Maven ja kasutage seda koos TestNG Selenium

Kohta JRE System Library atribuudid dialoogiboksis, veenduge Tรถรถruumi vaike-JRE on valitud ja klรตpsake nuppu OK.

Installige Maven ja kasutage seda koos TestNG Selenium

Step 7) valima pom.xml Rohkem kui Projektiuurija.

Installige Maven ja kasutage seda koos TestNG Selenium

Fail pom.xml avaneb redaktori jaotises.

Installige Maven ja kasutage seda koos TestNG Selenium

Step 8) Lisa Selenium, Maven, TestNGja JUnit sรตltuvused failist pom.xml sรตlm:

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

Step 9) Loo uus TestNG Klass. Sisestage paketi nimi kujul โ€žnรคideโ€œ ja โ€žUusTestโ€œ vรคljale Eesnimi: tekstikasti ja klรตpsake nuppu lรตpp nuppu, nagu on nรคidatud jรคrgmisel ekraanipildil:

Installige Maven ja kasutage seda koos TestNG Selenium

Step 10) Eclipse loob klassi NewTest, nagu on nรคidatud jรคrgmisel ekraanipildil:

Installige Maven ja kasutage seda koos TestNG Selenium

Step 11) Lisage sellele jรคrgmine kood UusTest klassi. See kood kontrollib pealkirja Guru99 Selenium lehel.

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

Step 12) Paremklรตpsake WebdriverTesti projektil ja valige TestNG | Teisenda TestNG.
Eclipse loob faili testng.xml, mis mรครคrab, et peate kรคivitama ainult รผhe testi nimega UusTest nagu on nรคidatud jรคrgmisel ekraanipildil:

Installige Maven ja kasutage seda koos TestNG Selenium

Vรคrskenda projekti ja veendu, et fail kuvatakse puus Pakettide uurija (paremklรตps projektil โ€“ Vรคrskenda).

Installige Maven ja kasutage seda koos TestNG Selenium

Step 13) Nรผรผd peate selle testi lรคbi viima testng.xml.

Niisiis, minge lehele Kรคivitage konfiguratsioonid ja looge uus kรคivitamine TestNG, valige projekt, mรครคrake vรคli Komplekt as testng.xmlja klรตpsake nuppu Kรคivita.

Installige Maven ja kasutage seda koos TestNG Selenium

Veenduge, et ehitustรถรถ edukalt lรตpule viiakse.

Step 14) Lisaks peame lisama

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

pom.xml-i.

Testide konfigureerimiseks ja kรคivitamiseks kasutatakse pluginat maven-surefire-. Siin kasutatakse pluginat faili testing.xml konfigureerimiseks. TestNG testida ja koostada katsearuandeid.

maven-compiler-pluginit kasutatakse koodi kompileerimise abistamiseks ja konkreetse JDK versiooni kasutamiseks kompileerimiseks. Lisage kรตik jรคrgmises koodilรตigus olevad sรตltuvused pom.xml-faili. sรตlm:

Installige Maven ja kasutage seda koos TestNG Selenium

Step 15) Maveni elutsรผkli testide kรคivitamiseks paremklรตpsake WebdriverTesti projektil ja valige Kรคivita kui | Maven testMaven kรคivitab testi projektist.

Installige Maven ja kasutage seda koos TestNG Selenium

Veenduge, et ehitustรถรถ edukalt lรตpule viiakse.

Kuidas integreerida Jenkins koos Selenium Veebidraiver

Siin on installimise juhised Jenkins LTS ja seadistage see Maveni kรคivitamiseks TestNG Selenium.

paigaldamine

Step 1) Minna https://www.jenkins.io/download/ ja laadige alla รตige Jenkins LTS-pakett teie operatsioonisรผsteemile. Installige Jenkins.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 2) tรตmblukku lahti tรตmbama Jenkins mรครคratud kausta. Kรคivitage exe-fail, nagu on nรคidatud jรคrgmisel ekraanipildil:

Integratsioon Jenkins koos Selenium Veebidraiver

Step 3) aasta Jenkins Seade klรตpsake aknas jรคrgmine nuppu.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 4) Klรตpsake paigaldama nupp lรตpus.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 5) Kui installimine on lรตppenud, navigeerige aadressile Jenkins Brauseriaknas armatuurlaud (vaikimisi http://localhost:8080).

Integratsioon Jenkins koos Selenium Veebidraiver

Step 6) Klรตpsake Uus toode link CI tรถรถ loomiseks.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 7) Valige Maven projekti raadionupp, nagu on nรคidatud jรคrgmisel ekraanipildil:

Integratsioon Jenkins koos Selenium Veebidraiver

Rakenduse kasutamine a Maven projekt vรตimalus Jenkins toetab Maveni projektide loomist ja testimist.

Step 8) Klรตpsake nuppu OK. Faili luuakse uus tรถรถ nimega โ€žWebdriverTestโ€. Jenkins Armatuurlaud.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 9) Minna juhtima Jenkins => Sรผsteemi seadistamine nagu on nรคidatud jรคrgmisel ekraanipildil.

Integratsioon Jenkins koos Selenium Veebidraiver

Klรตpsake JDK installid ja konfigureerige JDK nagu jรคrgmisel ekraanipildil:

Integratsioon Jenkins koos Selenium WebDrive

Step 10) Mine Ehitama uue tรถรถkoha osa.

  • aasta Root POM tekstikasti, sisesta pom.xml faili tรคielik tee
  • Sisestage jaotises โ€žEesmรคrgid ja valikudโ€ โ€žpuhas testโ€.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 11) Klรตpsake kehtima nuppu.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 12) WebdriverTesti projekti lehel klรตpsake nuppu Ehitage kohe link.

Integratsioon Jenkins koos Selenium Veebidraiver

Maven ehitab projekti. Siis saab TestNG testjuhtumid lรคbi viia.

Step 13) Kui ehitusprotsess on lรตppenud, siis jaotises Jenkins Klรตpsake juhtpaneelil WebdriverTest projekti.

Integratsioon Jenkins koos Selenium Veebidraiver

Step 14) WebdriverTesti projekti lehel kuvatakse ehituse ajalugu ja lingid tulemustele, nagu on nรคidatud jรคrgmisel ekraanipildil:

Integratsioon Jenkins koos Selenium Veebidraiver

Step 15) Katsetulemuste vaatamiseks, nagu on nรคidatud jรคrgmisel ekraanipildil, klรตpsake linki "Viimane testitulemus".

Integratsioon Jenkins koos Selenium Veebidraiver

Step 16) Valige konkreetne jรคrgustus ja nรคete praegust olekut, klรตpsates nupul โ€žkonsooli vรคljund".

Integratsioon Jenkins koos Selenium Veebidraiver

Plaanimine Jenkins automaatse tรคitmise jaoks

Ehitustรถรถde ajastamine (Selenium testid) on รผks olulisi omadusi Jenkins, kus see kรคivitab automaatselt ehituse mรครคratletud kriteeriumide alusel. Jenkins pakub ehitusprotsessi kรคivitamiseks ehituse kรคivitaja konfiguratsiooni all mitut vรตimalust.

Nรคiteks:
Sisestage ajakava tekstikasti 0 23 * * *, nagu on nรคidatud jรคrgmisel ekraanipildil. See kรคivitab ehitusprotsessi iga pรคev kell 11

Jenkins automaatse tรคitmise jaoks

Kasutamine Jenkins ilma Mavenita

Puhta kรคivitamiseks TestNG skript sisse Jenkins, sisestage ehitusfaili jรคrgmine:

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

Jenkins automaatse tรคitmise jaoks

  • Klรตpsake nuppu Salvesta.
  • Mรคrkus: รœlaltoodud kรคsku tuleb lisada kaustade lib ja bin tegelik tee.
  • Pรคrast kรคsu salvestamist Jenkins ehitab projekti etteantud ajal ja see kรคsk kรคivitatakse, kasutades TestNG.
  • Tulemus salvestatakse kohandatud HTML-aruandefaili, mida saab e-posti teel saata, kasutades Jenkins konfiguratsioon.
  • Koodi vรคljund on:

Jenkins automaatse tรคitmise jaoks

Kasutamise eelised Jenkins

  1. Varajane probleemide avastamine โ€“ vigu saab tuvastada tarkvaraarenduse algfaasis.
  2. Automaatne integratsioon โ€“ kรตigi muudatuste integreerimiseks pole vaja eraldi pingutust.
  3. Installer โ€“ juurutatav sรผsteem, mis on saadaval igal arendusetapil.
  4. Dokumendid โ€“ varasemate ehitustรถรถde andmeid sรคilitatakse.
  5. Tugi ja pluginad โ€“ รผks pรตhjusi Jenkinspopulaarsuse pรตhjuseks on laiaulatuslik kogukonna tugi. Saadaval on ka palju valmis pluginasid, mis aitavad selle funktsionaalsust laiendada.

KKK

Maven haldab sรตltuvusi ja ehituse elutsรผklit, Selenium juhib brauserit ja Jenkins koordineerib tรคitmist. Koos moodustavad nad tervikliku CI-torustiku, mis kompileerib koodi, laadib alla vajalikud JAR-failid, kรคivitab Selenium testib ja avaldab iga commit'i kohta automaatselt aruanded.

Kasutage sรตltuvuste ja ehituse haldamiseks Maven 3.x-i ja Jenkins LTS stabiilseks ja pidevaks integratsiooniks. Need versioonid pakuvad pikaajalist tuge, turvaparandusi ja laia pluginate รผhilduvust Selenium Veebidraiver TestNGja Surefire'i aruandluse pluginad.

Jah. Jenkins kasutab ajastamiseks jaotises Build Triggers cron-stiilis sรผntaksit Selenium sviidid. Nรคiteks 0 23 * * * kรคivitab sviidi igal รตhtul kell 11 Jenkins vรตib kรคivitada ka SCM-i kรผsitluste vรตi veebihookide sรผndmuste jรคrke.

Tehisintellekti toega Jenkins pluginad ennustavad ebaรผhtlaseid teste, hรครคlestavad automaatselt ehitusagente ja tuvastavad konsooli logides anomaaliaid. Need vรคhendavad torujuhtme mรผra, kiirendavad tagasisidet ja pakuvad vรคlja optimaalse paralleelsuse, mis hoiab Selenium sviidid muutuvad usaldusvรครคrsemaks, kui testide arv kasvab tuhandetesse.

Jah. Tehisintellektil pรตhinev testi mรตju analรผรผs seob koodimuudatused mรตjutatud osadega. Selenium stsenaariumid ja kรคivitab ainult asjakohase alamhulga JenkinsSee lรผhendab tagasiside tsรผkleid, vรคhendab infrastruktuuri kulusid ja sรคilitab tรคieliku katvuse, ajastades รถiste versioonide tรคieliku regressiooni.

Vรตta see postitus kokku jรคrgmiselt: