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.