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:
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
Vaihe 3) On Uusi Maven-projekti valintaikkunassa valitse Luo yksinkertainen projekti ja napsauta Seuraava
Vaihe 4) Kirjoita WebdriverTest sisรครคn Ryhmรคn tunnus: ja Artefaktin tunnus: ja napsauta lopeta
Vaihe 5) Eclipse luo WebdriverTest seuraavalla rakenteella:
Vaihe 6) Napsauta hiiren kakkospainiketta JRE System Library Ja valitse Kiinteistรถt vaihtoehto valikosta.
On JRE System Libraryn ominaisuudet valintaikkuna, varmista Tyรถtilan oletus-JRE on valittuna ja napsauta OK
Vaihe 7). Valita pom.xml alkaen Project Explorer..
pom.xml-tiedosto avautuu Editor-osiossa
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:
Vaihe 10). Eclipse luo NewTest-luokan seuraavan kuvakaappauksen mukaisesti:
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:
Pรคivitรค projekti ja varmista, ettรค tiedosto nรคkyy puussa Pakettienhallinta (Napsauta projektia hiiren kakkospainikkeella - Pรคivitรค).
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
Varmista, ettรค rakennus on valmis.
Vaihe 14). Lisรคksi meidรคn on lisรคttรคvรค
- maven-compiler-plugin
- maven-surefire-plugin
- 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:
Vaihe 15) Juoksemaan the testit Mavenin elinkaaressa, napsauta hiiren kakkospainikkeella WebdriverTestiรค ja valitse Suorita nimellรค | Maven testi. Maven suorittaa testin projektista.
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.
Vaihe 2) Pura Jenkins mรครคritettyyn kansioon. Suorita exe-tiedosto seuraavan kuvakaappauksen mukaisesti:
Vaihe 3) In Jenkins 1.607 -asennus ikkuna klikkaa seuraava painiketta.
Vaihe 4) Valitse install painiketta lopussa.
Vaihe 5) Kun asennus on valmis, siirry selainikkunassa Jenkins Dashboardiin (oletuksena http://localhost:8080).
Vaihe 6) Klikkaa Uusi kohde linkki CI-tyรถn luomiseen.
Vaihe 7) Valitse Maven-projektin valintanappi seuraavan kuvakaappauksen mukaisesti:
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.
Vaihe 9) Mene Jenkinsin hallinta => Mรครคritรค jรคrjestelmรค kuten seuraavassa kuvakaappauksessa nรคkyy.
Napsauta JDK-asennukset ja mรครคritรค JDK seuraavan kuvakaappauksen mukaisesti:
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"
Vaihe 11) Valitse kรคyttรครค painiketta.
Vaihe 12) Napsauta WebdriverTest-projektisivulla Rakenna nyt linkki.
Maven rakentaa projektin. Sillรค sitten on TestNG suorittaa testitapaukset.
Vaihe 13) Kun rakennusprosessi on valmis, napsauta Jenkins Dashboardissa WebdriverTest projekti
Vaihe 14) WebdriverTest-projektisivulla nรคkyy rakennushistoria ja linkit tuloksiin seuraavan kuvakaappauksen mukaisesti:
Vaihe 15) Napsauta "Viimeisin testitulos" -linkkiรค nรคhdรคksesi testitulokset seuraavan kuvakaappauksen mukaisesti:
Vaihe 16). Valitse tietty rakennus, ja nรคet nykyisen tilan napsauttamalla "konsolin lรคhtรถ".
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
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
- 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
Jenkinsin kรคytรถn edut
- Varhainen ongelman havaitseminen โ Virhe voidaan havaita ohjelmistokehityksen varhaisessa vaiheessa
- Automaattinen integrointi โ kaikkien muutosten integrointi ei vaadi erillistรค tyรถtรค
- Installer โ kรคyttรถรถn otettava jรคrjestelmรค, joka on saatavilla missรค tahansa kehitysvaiheessa
- Tietueet โ osa rakentaa tietueita yllรคpidetรครคn
- 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.




































