Maven & Jenkins -integraatio Selenium oppitunti

Missรค Jenkins on? Selenium?

Jenkins on Hudson Labin kehittรคmรค johtava avoimen lรคhdekoodin jatkuva integrointityรถkalu. Se on monialustainen ja sitรค voidaan kรคyttรครค Windows, Linux, Mac OS ja Solaris ympรคristรถissรค. Jenkins on kirjoitettu Java. Jenkinin pรครคasiallinen kรคyttรถtarkoitus on valvoa mitรค tahansa tyรถtรค, joka voi olla SVN checkout, cron tai mikรค tahansa sovellustila. Se kรคynnistรครค esikonfiguroidut toiminnot, kun tyรถssรค tapahtuu tietty vaihe.

Jenkinsin tรคrkeitรค ominaisuuksia

  • Muuta tuki: Jenkins luo luettelon kaikista muutoksista, jotka on tehty arkistoissa, kuten SVN.
  • Pysyvรคt linkit: Jenkins tarjoaa suorat linkit uusimpaan koontiversioon tai epรคonnistuneeseen koontiversioon, joita voidaan kรคyttรครค helppoon viestintรครคn
  • Asennus: Jenkins on helppo asentaa joko kรคyttรคmรคllรค suoraa asennustiedostoa (exe) tai sotatiedostoa sovelluspalvelimen avulla.
  • Sรคhkรถpostin integrointi: Jenkins voidaan mรครคrittรครค lรคhettรคmรครคn koontiversion tilan sisรคltรถ sรคhkรถpostitse.
  • Helppo konfigurointi: Erilaisten tehtรคvien mรครคrittรคminen Jenkinsissรค on helppoa.
  • TestNG testata: Jenkins voidaan mรครคrittรครค suorittamaan automaatiotestirakennetta Testng jokaisen SVN-koonnoksen jรคlkeen.
  • Useita virtuaalikoneita: Jenkins voidaan mรครคrittรครค jakamaan koontiversio useille koneille.
  • Projektin rakenne: Jenkins dokumentoi purkin yksityiskohdat, jar-version sekรค koonti- ja jar-numeroiden kartoituksen.
  • Plugins: 3rd party-laajennus voidaan mรครคrittรครค Jenkinsissรค kรคyttรคmรครคn ominaisuuksia ja lisรคtoimintoja.

Miksi Jenkins ja Selenium?

  • Running Selenium Testit Jenkinsissรค mahdollistavat testien suorittamisen joka kerta, kun ohjelmisto muuttuu, ja ottaa ohjelmiston kรคyttรถรถn uudessa ympรคristรถssรค, kun testit lรคpรคisevรคt.
  • Jenkins voi ajoittaa testit suoritettavaksi tiettyyn aikaan.
  • Voit tallentaa suoritushistorian ja testiraportit.
  • Jenkins tukee Mavenia rakentamaan ja Testaus jatkuvassa integraatiossa oleva projekti.

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

Maven on tehokas projektin / koontiversion hallintatyรถkalu, joka perustuu POM-konseptiin (Project Object Model), joka sisรคltรครค projektitiedot ja Mavenin konfigurointitiedot, kuten rakennushakemiston, lรคhdehakemiston, riippuvuuden, testilรคhdehakemiston, tavoitteet, laajennukset jne. .

Miksi Maven & Jenkins

Selenium WebDriver sopii erinomaisesti selaimen automatisointiin. Mutta kun sitรค kรคytetรครคn testaamiseen ja testikehyksen rakentamiseen, se tuntuu alivoimaiselta. 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(Maven) -tiedoston avulla voit mรครคrittรครค riippuvuudet, joita tarvitaan testauksen rakentamiseen ja koodin suorittamiseen.
  • Maven lataa automaattisesti tarvittavat tiedostot arkistosta projektin rakentamisen aikana.

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

Tรคssรค on vaiheet Mavenin asentamiseen ja sen kรคyttรคmiseen TestNG Selenium

Kรคytรคmme tรคtรค opetusohjelmaa varten Eclipse (Juno) IDE for Java Kehittรคjรคt mรครคritettรคvรคksi Selenium WebDriver-projekti. Lisรคksi meidรคn on lisรคttรคvรค m2eclipse-laajennus Eclipse helpottaa rakennusprosessia ja luoda pom.xml-tiedosto.
Lisรคtรครคn m2eclipse-laajennus Eclipse seuraavilla vaiheilla:

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

Vaihe 2) Kirjoita Asenna-valintaikkunassa URL-osoite https://www.eclipse.org/m2e/. Valitse Tyรถskennellรค ja m2e-laajennus seuraavan kuvakaappauksen mukaisesti:

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

Vaihe 3) Valitse 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 alkaen 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 valintaikkunassa valitse 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 lopeta

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, TestNG, 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 "esimerkiksi" ja "NewTest" -kenttรครคn 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 vahvistaa Guru99:n nimen 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 hiiren kakkospainikkeella WebdriverTestiรค ja valitse TestNG | Muuntaa TestNG.
Eclipse luo testng.xml:n, jossa sanotaan, ettรค sinun on suoritettava vain yksi testi tรคllรค 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 on suoritettava testi tรคmรคn lรคpi testng.xml.

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

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

Varmista, ettรค rakennus on valmis.

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

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

osoitteeseen pom.xml.

Maven-surefire-laajennusta kรคytetรครคn testien mรครคrittรคmiseen ja suorittamiseen. Tรคssรค laajennusta kรคytetรครคn testing.xml:n mรครคrittรคmiseen TestNG testaa ja luo testiraportteja.

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

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

Vaihe 15) Juoksemaan the testit Mavenin elinkaaressa, napsauta hiiren kakkospainikkeella WebdriverTestiรค ja valitse Suorita nimellรค | Maven testi. Maven suorittaa testin projektista.

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

Varmista, ettรค rakennus on valmis.

Kuinka integroida Jenkins kanssa Selenium web-ajuri

Tรคssรค on ohjeet Jenkinsin asentamiseen ja sen mรครคrittรคmiseen suorittamaan Maven TestNg:n avulla Selenium

Asennus

Vaihe 1) Mene http://jenkins-ci.org/ ja lataa oikea paketti kรคyttรถjรคrjestelmรคllesi. Asenna Jenkins.

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

Vaihe 3) In Jenkins 1.607 -asennus ikkuna klikkaa seuraava painiketta.

Jenkinsin integrointi Selenium web-ajuri

Vaihe 4) Valitse install painiketta lopussa.

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi 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 Dashboardiin.

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium WebDrive

Vaihe 10) Siirry Rakentaa osa uutta tyรถtรค.

  • In Juuri POM tekstikenttรครคn, kirjoita koko polku tiedostoon pom.xml
  • Kirjoita Tavoitteet ja vaihtoehdot -osioon "puhdas testi"
  • Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

Vaihe 12) Napsauta WebdriverTest-projektisivulla Rakenna nyt linkki.

Jenkinsin integrointi Selenium web-ajuri

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

Vaihe 13) Kun rakennusprosessi on valmis, napsauta Jenkins Dashboardissa WebdriverTest projekti

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

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

Jenkinsin integrointi Selenium web-ajuri

Jenkinsin ajoittaminen automaattiseen suoritukseen.

Rakennusten ajoitus (Selenium Testit) on yksi Jenkinsin tรคrkeistรค ominaisuuksista, jossa se kรคynnistรครค koonnoksen automaattisesti mรครคritettyjen kriteerien perusteella. Jenkins tarjoaa useita tapoja kรคynnistรครค rakennusprosessi Build Trigger -kokoonpanon alla.

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

Jenkins automaattiseen suoritukseen

Jenkingsin kรคyttรคminen ilman Mavenia

Jos haluat suorittaa puhtaan TestNg-komentosarjan Jenkinsissรค, kirjoita seuraava rakennukseen

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

Jenkins automaattiseen suoritukseen

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

Jenkins automaattiseen suoritukseen

Jenkinsin kรคytรถn edut

  1. Varhainen ongelman havaitseminen โ€“ Virhe voidaan havaita ohjelmistokehityksen varhaisessa vaiheessa
  2. Automaattinen integrointi โ€“ kaikkien muutosten integrointi ei vaadi erillistรค tyรถtรค
  3. Installer โ€“ kรคyttรถรถn otettava jรคrjestelmรค, joka on saatavilla missรค tahansa kehitysvaiheessa
  4. Tietueet โ€“ osa rakentaa tietueita yllรคpidetรครคn
  5. Tuki ja lisรคosat: Yksi Jenkinin suosion syistรค on laajan yhteisรถn tuen saatavuus. Saatavilla on myรถs paljon valmiita laajennuksia, jotka auttavat sinua laajentamaan sen toimintoja.

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