Selenium Integrointi Mavenin ja Jenkins

โšก ร„lykรคs yhteenveto

Maven Jenkins Selenium integrointi luo automatisoidun jatkuvan testausputken, jossa Maven hallitsee projektin riippuvuuksia ja elinkaarta, Jenkins aikatauluttaa ja kรคynnistรครค koontiversioita ja Selenium suorittaa selaintestejรค, mikรค tuottaa toistettavaa, luotettavaa ja skaalautuvaa kokonaisvaltaista web-automaatiota.

  • ๐Ÿ“ฆ Mavenin rooli: Maven 3.x hallitsee riippuvuuksia, koontisykliรค ja laajennuksia pom.xml-tiedoston kautta, poistaen JAR-tiedostojen manuaalisen kรคsittelyn Selenium hankkeisiin.
  • ๐Ÿ” Jenkins Rooli: Jenkins LTS-aikataulut Selenium sviittejรค, valvoo SCM-muutoksia ja kรคynnistรครค automaattiset regressioajot jokaisen commitin tai yรถllisen cronin yhteydessรค.
  • ๐Ÿš€ Putkilinjan teho: Yhdistรคmรคllรค Mavenin, Jenkins, Seleniumja TestNG muodostaa tรคydellisen CI/CD-silmukan, joka havaitsee virheet muutamassa minuutissa koodin muuttuessa.
  • โœ… raportointi: Surefire-raportit ja lisรคksi Jenkins rakentaa historiaa antaa trackรคyttรถkelpoisia ja jaettavia testituloksia konsolitulosteen ja HTML-koontinรคyttรถjen avulla.
  • ๐Ÿงช Tekoรคlyn parannus: Nykyaikaiset tekoรคlyliitรคnnรคiset priorisoivat testit, joihin vaikuttaa, ennustavat epรคvakaita tapauksia ja kutistavat niitรค Jenkins palautesyklit sisรคllรค Selenium putkistojen.

Maven & Jenkins Integrointi Selenium

Mikรค on Jenkins in Selenium?

Jenkins on johtava avoimen lรคhdekoodin jatkuvan integraation tyรถkalu, jonka alun perin kehitti Hudson-laboratorio. Se on alustojenvรคlinen ja toimii Windows, Linux, macOSja Solaris ympรคristรถissรค. Jenkins on kirjoitettu Java ja jaetaan nyt seuraavasti Jenkins LTS vakaaseen tuotantokรคyttรถรถn. Sen pรครคasiallinen kรคyttรถtarkoitus on minkรค tahansa tyรถn valvonta, joka voi olla SCM-tarkistus, cron-aikataulu tai mikรค tahansa sovelluksen tila. Jenkins kรคynnistรครค ennalta mรครคritettyjรค toimintoja, kun tietty vaihe tapahtuu tyรถtehtรคvissรค.

Tรคrkeรคt ominaisuudet Jenkins

  • Muuta tuki: Jenkins luo listan kaikista muutoksista, jotka on tehty repositorioissa, kuten Git tai SVN.
  • Pysyvรคt linkit: Jenkins tarjoaa suorat linkit uusimpaan tai viimeisimpรครคn epรคonnistuneeseen koontiin, mikรค yksinkertaistaa tiimin vรคlistรค viestintรครค.
  • Asennus: Jenkins on helppo asentaa natiivilla asennusohjelmalla, sovelluspalvelimelle asennetulla WAR-tiedostolla tai Docker-kuvalla.
  • Sรคhkรถpostin integrointi: Jenkins voidaan mรครคrittรครค lรคhettรคmรครคn sรคhkรถpostia jokaisen koonnin sisรคllรถstรค ja tilasta.
  • Helppo konfigurointi: Eri tehtรคvien mรครคrittรคminen Jenkins on suoraviivaista verkkokรคyttรถliittymรคn kautta.
  • TestNG Testi: Jenkins voidaan konfiguroida suorittamaan automaatiotestin koontiversio TestNG jokaisen repositorioon tehdyn commitin jรคlkeen.
  • Useita virtuaalikoneita: Jenkins voi jakaa koontiversioita useille agenttikoneille.
  • Projektin rakentaminen: Jenkins dokumentoi JAR-tiedostojen, JAR-versioiden ja kartan tiedotping koontinumeroista artefakteihin.
  • Plugins: 3rd osapuolten laajennuksia voidaan lisรคtรค Jenkins laajentaa ominaisuuksia ja lisรคtรค toimintoja.

Miksi Jenkins ja Selenium?

  • Running Selenium testit Jenkins voit suorittaa testisi aina, kun ohjelmisto muuttuu, ja ottaa ohjelmiston kรคyttรถรถn uudessa ympรคristรถssรค, kun testit lรคpรคisevรคt sen.
  • Jenkins voit aikatauluttaa oman Selenium testit suoritettavaksi tiettyyn aikaan.
  • Voit tallentaa suoritushistorian ja testiraportit trackyky
  • Jenkins tukee Mavenia rakentamiseen ja Testaus jatkuvassa integraatiossa oleva projekti.

Mitรค Maven sisรคltรครค Selenium?

Maven on tehokas projekti- ja koontityรถkalu, joka perustuu POM-malliin (Project Object Model). Se sisรคltรครค projektitiedot ja Mavenin mรครคritystiedot, kuten koontihakemiston, lรคhdekoodihakemiston, riippuvuudet, testilรคhdehakemiston, tavoitteet, laajennukset ja paljon muuta. Maven 3.x on nykyinen vakaa versio, jota kรคytetรครคn laajalti eri ohjelmissa. Selenium testikehykset.

Miksi Maven ja Jenkins

Selenium WebDriver on loistava selaimen automatisointiin. Mutta testaukseen ja testikehyksen rakentamiseen kรคytettynรค se voi tuntua alitehoiselta. Mavenin integrointi Selenium tarjoaa seuraavat edut.
Apache Maven tarjoaa tukea testiprojektin koko elinkaaren hallintaan.

  • Mavenia kรคytetรครคn projektirakenteen, riippuvuuksien, rakentamisen ja testauksen hallinnan mรครคrittรคmiseen.
  • pom.xml:n (Maven) avulla voit mรครคrittรครค koodin rakentamiseen, testaamiseen ja suorittamiseen tarvittavia riippuvuuksia.
  • Maven lataa tarvittavat tiedostot automaattisesti keskitetystรค arkistosta projektin rakentamisen aikana.

Kuinka asentaa Maven ja kรคyttรครค sitรค TestNG Selenium

Tรคssรค ovat Mavenin asentamisen ja kรคytรถn vaiheet TestNG Selenium.

Kรคytรคmme tรคtรค opetusohjelmaa varten Eclipse (Juno) IDE-ympรคristรถ Java Kehittรคjรคt perustavat Selenium WebDriver-projekti. Lisรคksi meidรคn on lisรคttรคvรค m2eclipse-laajennus Eclipse helpottaakseen rakennusprosessia ja luodakseen pom.xml-tiedoston.
Lisรคtรครคnpรค m2eclipse-laajennus tรคhรคn Eclipse seuraavilla vaiheilla:

Vaihe 1) In Eclipse IDE, valitse Apu: | Asenna uusi ohjelmisto mistรค Eclipse pรครคvalikko.

Vaihe 2) Kirjoita asennusvalintaikkunaan URL https://www.eclipse.org/m2e/. Valita Tyรถskennellรค ja m2e-laajennus, kuten seuraavassa kuvakaappauksessa nรคkyy:

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 3) Klikkaa seuraava -painiketta ja viimeistele asennus.

Configure Eclipse Mavenin kanssa

Kun m2e-laajennus on asennettu, meidรคn on nyt luotava Maven-projekti.

Vaihe 1) In Eclipse IDE, luo uusi projekti valitsemalla filee | Uusi | Muut mistรค Eclipse valikosta.

Vaihe 2) On Uusi valintaikkunasta Maven | Maven projekti ja napsauta Seuraava.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 3) On Uusi Maven-projekti valintaikkuna Luo yksinkertainen projekti ja napsauta Seuraava.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 4) Kirjoita WebdriverTest sisรครคn Ryhmรคn tunnus: ja Artefaktin tunnus: ja napsauta Valmis.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 5) Eclipse luo WebdriverTest seuraavalla rakenteella:

Asenna Maven ja kรคytรค sitรค TestNG Seleniuml

Vaihe 6) Napsauta hiiren kakkospainiketta JRE System Library Ja valitse Kiinteistรถt vaihtoehto valikosta.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

On JRE System Libraryn ominaisuudet valintaikkuna, varmista Tyรถtilan oletus-JRE on valittuna ja napsauta OK.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 7) valita pom.xml alkaen Project Explorer.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

pom.xml-tiedosto avautuu Editor-osiossa.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 8) Lisรครค Selenium, Maven, TestNGja JUnit riippuvuudet tiedostoon pom.xml tiedostossa solmu:

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

Vaihe 9) Luoda uusi TestNG Luokka. Kirjoita paketin nimi muodossa โ€esimerkkiโ€ ja โ€NewTestโ€ Nimi: tekstilaatikko ja napsauta Suorittaa loppuun -painiketta seuraavan kuvakaappauksen mukaisesti:

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 10) Eclipse luo NewTest-luokan seuraavan kuvakaappauksen mukaisesti:

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 11) Lisรครค seuraava koodi Uusi Test luokka. Tรคmรค koodi tarkistaa luokan otsikon. Guru99 Selenium sivu.

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

Vaihe 12) Napsauta WebdriverTest-projektia hiiren kakkospainikkeella ja valitse TestNG | Muuntaa TestNG.
Eclipse luo testng.xml-tiedoston, jossa mรครคritetรครคn, ettรค sinun tarvitsee suorittaa vain yksi testi nimellรค Uusi Test kuten seuraavassa kuvakaappauksessa nรคkyy:

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Pรคivitรค projekti ja varmista, ettรค tiedosto nรคkyy puussa Pakettienhallinta (Napsauta projektia hiiren kakkospainikkeella - Pรคivitรค).

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 13) Nyt sinun tรคytyy suorittaa testi tรคmรคn lรคpi testng.xml.

Joten mene osoitteeseen Suorita mรครคritykset ja luo uusi julkaisu TestNG, valitse projekti, aseta kenttรค Sviitti as testng.xmlja napsauta Suorita.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Varmista, ettรค rakennustyรถt valmistuvat onnistuneesti.

Vaihe 14) Lisรคksi meidรคn on lisรคttรคvรค

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

pom.xml-tiedostoon.

maven-surefire-pluginia kรคytetรครคn testien konfigurointiin ja suorittamiseen. Tรคssรค pluginia kรคytetรครคn testing.xml-tiedoston konfigurointiin seuraavaa varten: TestNG testaa ja luo testiraportteja.

maven-compiler-pluginia kรคytetรครคn koodin kรครคntรคmisen apuna ja tietyn JDK-version kรคyttรคmiseen kรครคntรคmisessรค. Lisรครค kaikki seuraavan koodinpรคtkรคn riippuvuudet pom.xml-tiedostoon kohdassa solmu:

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Vaihe 15) Suorittaaksesi Mavenin elinkaaren testit, napsauta hiiren kakkospainikkeella WebdriverTest-projektia ja valitse Suorita nimellรค | Maven testiMaven suorittaa testin projektista.

Asenna Maven ja kรคytรค sitรค TestNG Selenium

Varmista, ettรค rakennustyรถt valmistuvat onnistuneesti.

Kuinka integroida Jenkins Selenium web-ajuri

Tรคssรค on asennusvaiheet Jenkins LTS ja mรครคritรค se ajamaan Mavenia TestNG Selenium.

Asennus

Vaihe 1) Mene https://www.jenkins.io/download/ ja lataa oikea Jenkins LTS-paketti kรคyttรถjรคrjestelmรคllesi. Asenna Jenkins.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 2) Avata jnk vetoketju Jenkins mรครคritettyyn kansioon. Suorita exe-tiedosto seuraavan kuvakaappauksen mukaisesti:

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 3) In Jenkins Perustaa napsauta ikkunaa seuraava painiketta.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 4) Klikkaa install -painiketta lopussa.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 5) Kun asennus on valmis, siirry kohtaan Jenkins Kojelauta (oletuksena http://localhost:8080) selainikkunassa.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 6) Klikkaa Uusi kohde linkki CI-tyรถn luomiseen.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 7) Valitse Maven-projektin valintanappi seuraavan kuvakaappauksen mukaisesti:

Integrointi Jenkins Kanssa Selenium web-ajuri

Build-sovelluksen kรคyttรคminen a Maven projekti vaihtoehto, Jenkins tukee Maven-projektien rakentamista ja testaamista.

Vaihe 8) Napsauta OK-painiketta. Uusi tyรถ nimeltรค โ€WebdriverTestโ€ luodaan Jenkins Kojelautaan.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 9) Mene hoitaa Jenkins => Mรครคritรค jรคrjestelmรค kuten seuraavassa kuvakaappauksessa nรคkyy.

Integrointi Jenkins Kanssa Selenium web-ajuri

Napsauta JDK-asennukset ja mรครคritรค JDK seuraavan kuvakaappauksen mukaisesti:

Integrointi Jenkins Kanssa Selenium WebDrive

Vaihe 10) Siirry Rakentaa osio uudesta tyรถstรค.

  • In Juuri POM tekstikenttรครคn, anna pom.xml-tiedoston koko polku
  • Kirjoita Tavoitteet ja asetukset -osioon โ€puhdas testiโ€

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 11) Klikkaa kรคyttรครค painiketta.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 12) Napsauta WebdriverTest-projektisivulla Rakenna nyt linkki.

Integrointi Jenkins Kanssa Selenium web-ajuri

Maven rakentaa projektin. Sillรค sitten on TestNG suorittaa testitapaukset.

Vaihe 13) Kun rakennusprosessi on valmis, kohdassa Jenkins Napsauta kojelaudassa WebdriverTest projekti.

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 14) WebdriverTest-projektisivulla nรคkyy rakennushistoria ja linkit tuloksiin seuraavan kuvakaappauksen mukaisesti:

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 15) Napsauta "Viimeisin testitulos" -linkkiรค nรคhdรคksesi testitulokset seuraavan kuvakaappauksen mukaisesti:

Integrointi Jenkins Kanssa Selenium web-ajuri

Vaihe 16) Valitse tietty koontiversio, niin nรคet nykyisen tilan napsauttamalla "konsolin lรคhtรถ".

Integrointi Jenkins Kanssa Selenium web-ajuri

Ajoitus Jenkins automaattista suoritusta varten

Koontitรถiden aikataulutus (Selenium testit) on yksi tรคrkeimmistรค ominaisuuksista Jenkins, jossa se kรคynnistรครค automaattisesti koonnin mรครคriteltyjen kriteerien perusteella. Jenkins tarjoaa useita tapoja kรคynnistรครค koontiprosessi Build Trigger -mรครคrityksissรค.

Esimerkiksi:
Kirjoita Aikataulu-tekstiruutuun 0 23 * * * seuraavan kuvakaappauksen mukaisesti. Tรคmรค kรคynnistรครค rakennusprosessin joka pรคivรค klo 11

Jenkins automaattista suoritusta varten

Kรคyttรคminen Jenkins ilman Mavenia

Puhtaan ajamiseksi TestNG kรคsikirjoitus sisรครคn Jenkins, kirjoita build-kohtaan seuraavat tiedot:

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

Jenkins automaattista suoritusta varten

  • Napsauta Tallenna-painiketta.
  • Huomautus: lib- ja bin-kansioiden todellinen polku on lisรคttรคvรค yllรค olevaan komentoon.
  • Komennon tallentamisen jรคlkeen Jenkins rakentaa projektin ennalta mรครคritettyyn aikaan, ja tรคmรค komento suoritetaan kรคyttรคmรคllรค TestNG.
  • Tulos tallennetaan mukautettuun HTML-raporttitiedostoon, joka voidaan lรคhettรครค sรคhkรถpostitse kรคyttรคmรคllรค Jenkins kokoonpano.
  • Koodin tuloste on:

Jenkins automaattista suoritusta varten

Kรคytรถn edut Jenkins

  1. Varhainen ongelmien havaitseminen โ€“ virheet voidaan havaita ohjelmistokehityksen alkuvaiheessa.
  2. Automaattinen integrointi โ€“ kaikkien muutosten integrointiin ei tarvita erillistรค tyรถtรค.
  3. Asennusohjelma โ€“ kรคyttรถรถnotettava jรคrjestelmรค, joka on kรคytettรคvissรค missรค tahansa kehitysvaiheessa.
  4. Tiedot โ€“ aiempien rakennusten tiedot sรคilytetรครคn.
  5. Tuki ja lisรคosat โ€“ yksi syy siihen, miksi Jenkinsn suosio perustuu laajaan yhteisรถtukeen. Saatavilla on myรถs paljon valmiita lisรคosia, jotka auttavat laajentamaan sen toiminnallisuutta.

UKK

Maven hallitsee riippuvuuksia ja koontisykliรค, Selenium ohjaa selainta ja Jenkins koordinoi suoritusta. Yhdessรค ne muodostavat tรคydellisen CI-putken, joka kรครคntรครค koodin, lataa tarvittavat JAR-tiedostot, suorittaa Selenium testaa ja julkaisee raportit automaattisesti jokaisesta commitista.

Kรคytรค Maven 3.x:รครค riippuvuuksien ja koontiversioiden hallintaan ja Jenkins LTS vakaata jatkuvaa integraatiota varten. Nรคmรค versiot tarjoavat pitkรคaikaista tukea, tietoturvapรคivityksiรค ja laajan yhteensopivuuden laajennusten kanssa. Selenium WebDriver, TestNGja Surefire-raportointilaajennukset.

Kyllรค. Jenkins kรคyttรครค cron-tyylistรค syntaksia Build Triggers -osiossa ajoittaakseen Selenium sviittejรค. Esimerkiksi 0 23 * * * kรคynnistรครค sviitin joka ilta klo 11. Jenkins voi myรถs laukaista koontiversioita SCM-kyselyissรค tai webhook-tapahtumissa.

AI-kรคyttรถinen Jenkins lisรคosat ennustavat epรคtasaisia โ€‹โ€‹testejรค, virittรคvรคt koontiagentteja automaattisesti ja havaitsevat poikkeavuuksia konsolilokeissa. Ne vรคhentรคvรคt prosessin kohinaa, kiihdyttรคvรคt palautetta ja ehdottavat optimaalista rinnakkaistamista, mikรค pitรครค Selenium sviitit ovat luotettavia testien mรครคrรคn kasvaessa tuhansiin.

Kyllรค. Tekoรคlyyn perustuva testien vaikutusanalyysi yhdistรครค koodimuutokset niihin, joihin ne vaikuttavat. Selenium skenaarioita ja suorittaa vain asiaankuuluvan osajoukon JenkinsTรคmรค lyhentรครค palautesyklejรค, vรคhentรครค infrastruktuurikustannuksia ja sรคilyttรครค tรคyden kattavuuden ajoittamalla tรคydellisen regression yรถllisille koonneille.

Tiivistรค tรคmรค viesti seuraavasti: