Znalec a Jenkins Integrace s Selenium konzultace
Co je to Jenkins in Selenium?
Jenkins je pลednรญ open-source nรกstroj pro kontinuรกlnรญ integraci vyvinutรฝ laboratoลรญ Hudson. Je multiplatformnรญ a lze jej pouลพรญt na Windows, Linux, Mac OS a Solaris prostลedรญ. Jenkins je napsรกno v Java. Jenkinovo hlavnรญ pouลพitรญ je sledovat jakoukoli รบlohu, kterou mลฏลพe bรฝt SVN checkout, cron nebo stav jakรฉkoli aplikace. Spouลกtรญ pลedem nakonfigurovanรฉ akce, kdyลพ se v รบlohรกch vyskytne urฤitรฝ krok.
Dลฏleลพitรฉ vlastnosti Jenkins
- Podpora zmฤn: Jenkins generuje seznam vลกech zmฤn provedenรฝch v repozitรกลรญch, jako je SVN.
- Trvalรฉ odkazy: Jenkins poskytuje pลรญmรฉ odkazy na nejnovฤjลกรญ nebo neรบspฤลกnรฉ sestavenรญ, kterรฉ lze pouลพรญt pro snadnou komunikaci
- Instalace: Jenkins Snadno se instaluje buฤ pomocรญ instalaฤnรญho souboru (exe), nebo pomocรญ souboru WAR pro nasazenรญ pomocรญ aplikaฤnรญho serveru.
- Integrace e-mailu: Jenkins lze nakonfigurovat tak, aby se obsah se stavem sestavenรญ odesรญlal e-mailem.
- Snadnรก konfigurace: Konfigurace rลฏznรฝch รบloh na Jenkins je lehkรฉ.
- TestNG test: Jenkins lze nakonfigurovat pro spuลกtฤnรญ sestavenรญ automatizovanรฉho testu na Testng po kaลพdรฉm sestavenรญ SVN.
- Vรญce virtuรกlnรญch poฤรญtaฤลฏ: Jenkins lze nakonfigurovat tak, aby sestavenรญ bylo distribuovรกno na vรญce poฤรญtaฤลฏ.
- Sestavenรญ projektu: Jenkins dokumentuje podrobnosti o jaru, verzi jaru a mapฤping ฤรญsla sestavenรญ a JAR.
- Pluginy: 3rd plugin pro pรกrty lze nakonfigurovat v Jenkins pouลพรญvat funkce a dalลกรญ moลพnosti.
Proฤ Jenkins a Selenium?
- Bฤh Selenium testy v Jenkins umoลพลuje spouลกtฤt testy pokaลพdรฉ, kdyลพ se vรกลก software zmฤnรญ, a nasadit software do novรฉho prostลedรญ, jakmile testy projdou รบspฤลกnฤ.
- Jenkins mลฏลพete naplรกnovat spuลกtฤnรญ testลฏ v konkrรฉtnรญ ฤas.
- Mลฏลพete uloลพit historii provรกdฤnรญ a zkuลกebnรญ zprรกvy.
- Jenkins podporuje Maven pro sestavovรกnรญ a Testovรกnรญ projekt v neustรกlรฉ integraci.
V ฤem je Maven Selenium?
Maven je vรฝkonnรฝ nรกstroj pro sprรกvu projektลฏ/sestavenรญ, zaloลพenรฝ na konceptu POM (Project Object Model), kterรฝ obsahuje informace o projektu a informace o konfiguraci pro Maven, jako je konstrukฤnรญ adresรกล, zdrojovรฝ adresรกล, zรกvislost, testovacรญ zdrojovรฝ adresรกล, cรญle, pluginy atd. .
Proฤ Maven & Jenkins
Selenium WebDriver je skvฤlรฝ pro automatizaci prohlรญลพeฤe. Ale pลi jeho pouลพitรญ pro testovรกnรญ a vytvรกลenรญ testovacรญho rรกmce se cรญtรญ nedostateฤnฤ. Integrace Maven s Selenium poskytuje nรกsledujรญcรญ vรฝhody
Apache Maven poskytuje podporu pro ลรญzenรญ celรฉho ลพivotnรญho cyklu testovacรญho projektu.
- Maven se pouลพรญvรก k definovรกnรญ struktury projektu, zรกvislostรญ, sestavenรญ a sprรกvy testลฏ.
- Pomocรญ pom.xml(Maven) mลฏลพete nakonfigurovat zรกvislosti potลebnรฉ pro vytvรกลenรญ testovรกnรญ a spouลกtฤnรญ kรณdu.
- Maven automaticky stahuje potลebnรฉ soubory z รบloลพiลกtฤ pลi sestavovรกnรญ projektu.
Jak nainstalovat Maven a pouลพรญvat jej s TestNG Selenium
Zde jsou kroky k instalaci Maven a pouลพitรญ s TestNG Selenium
Pro tento tutoriรกl pouลพijeme Eclipse (Juno) IDE pro Java Vรฝvojรกลi k nastavenรญ Selenium Projekt WebDriver. Navรญc potลebujeme pลidat plugin m2eclipse Eclipse pro usnadnฤnรญ procesu sestavenรญ a vytvoลenรญ souboru pom.xml.
Pojฤme pลidat plugin m2eclipse Eclipse s nรกsledujรญcรญmi kroky:
Krok 1) In Eclipse IDE, vyberte Pomoc | Nainstalujte novรฝ software od Eclipse Hlavnรญ menu.
Krok 2) V dialogovรฉm oknฤ Instalovat zadejte adresu URL https://www.eclipse.org/m2e/. Vybrat Pracovat s a m2e plugin, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 3) Kliknฤte na dalลกรญ tlaฤรญtko a dokonฤete instalaci.
Konfigurace Eclipse s Mavenem
Kdyลพ je nainstalovรกn plugin m2e, nynรญ potลebujeme vytvoลit projekt Maven.
Krok 1) In Eclipse IDE, vytvoลte novรฝ projekt vรฝbฤrem Soubor | Novรฝ | Ostatnรญ od Eclipse menu.
Krok 2) Na Novรฝ , vyberte Maven | Projekt Maven a klepnฤte na tlaฤรญtko Dalลกรญ
Krok 3) Na Novรฝ projekt Maven dialogu vyberte Vytvoลte jednoduchรฝ projekt a klepnฤte na tlaฤรญtko Dalลกรญ
Krok 4) Zadejte WebdriverTest do ID skupiny: a ID artefaktu: a kliknฤte na Dokonฤit
Krok 5) Eclipse vytvoลรญ WebdriverTest s nรกsledujรญcรญ strukturou:
Krok 6) Kliknฤte pravรฝm tlaฤรญtkem na Systรฉmovรก knihovna JRE A vyberte poloลพku Nemovitosti z nabรญdky.
Na Vlastnosti systรฉmovรฉ knihovny JRE dialogovรฉ okno, ujistฤte se Vรฝchozรญ JRE pracovnรญho prostoru a klepnฤte na OK
Krok 7). Vybrat pom.xml od Prลฏzkumnรญk projektu..
Soubor pom.xml se otevลe v sekci Editor
Krok 8) Pลidat Selenium, Maven, TestNG, Junit zรกvislosti na pom.xml v souboru uzel:
<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>
Krok 9) Vytvoล novรฝ TestNG Tลรญda. Zadejte nรกzev balรญฤku jako โpลรญkladโ a โNovรฝ testโ do pole Jmรฉno: textovรฉ pole a kliknฤte na รบprava tlaฤรญtko, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 10). Eclipse vytvoลรญ tลรญdu NewTest, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 11) Pลidejte nรกsledujรญcรญ kรณd do Novรฝ test tลรญda:
Tento kรณd ovฤลรญ nรกzev Guru99 Selenium Strana
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();
}
}
Krok 12) Klepnฤte pravรฝm tlaฤรญtkem myลกi na WebdriverTest a vyberte TestNG | Pลevรฉst na TestNG.
Eclipse vytvoลรญ testng.xml, kterรฝ ลรญkรก, ลพe musรญte spustit pouze jeden test s nรกzvem Novรฝ test jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Aktualizujte projekt a ujistฤte se, ลพe se soubor zobrazรญ ve stromu Prลฏzkumnรญk balรญฤkลฏ (kliknฤte pravรฝm tlaฤรญtkem na projekt โ Refresh).
Krok 13) Nynรญ musรญte provรฉst test testng.xml.
Takลพe jdฤte do Spustit Konfigurace a vytvoลit novรฉ spuลกtฤnรญ TestNG, vyberte projekt a pole Suita as testng.xml a klepnฤte na Spustit
Ujistฤte se, ลพe sestavenรญ bylo รบspฤลกnฤ dokonฤeno.
Krok 14). Navรญc musรญme pลidat
- maven-compiler-plugin
- maven-surefire-plugin
- testng.xml
do pom.xml.
Plugin maven-surefire se pouลพรญvรก ke konfiguraci a provรกdฤnรญ testลฏ. Zde se plugin pouลพรญvรก ke konfiguraci testing.xml pro TestNG testovat a vytvรกลet testovacรญ zprรกvy.
Plugin maven-compiler-plugin se pouลพรญvรก pro pomoc pลi kompilaci kรณdu a pouลพitรญ konkrรฉtnรญ verze JDK pro kompilaci. Pลidejte vลกechny zรกvislosti v nรกsledujรญcรญm fragmentu kรณdu do pom.xml v uzel:
Krok 15) K bฤhu the testy v ลพivotnรญm cyklu Maven, kliknฤte pravรฝm tlaฤรญtkem na WebdriverTest a vyberte Bฤลพ jako | Mavenลฏv test. Maven provede test z projektu.
Ujistฤte se, ลพe sestavenรญ bylo รบspฤลกnฤ dokonฤeno.
Jak integrovat Jenkins s Selenium webovรฝ ovladaฤ
Zde jsou kroky k instalaci Jenkins a nakonfigurujte jej tak, aby spouลกtฤl Maven s TestNg Selenium
Instalace
Krok 1) Pลejรญt http://jenkins-ci.org/ a stรกhnฤte si sprรกvnรฝ balรญฤek pro vรกลก operaฤnรญ systรฉm. Nainstalujte Jenkins.
Krok 2) Rozbalte Jenkins do urฤenรฉ sloลพky. Spusลฅte soubor exe, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 3) In Jenkins NIKDY nastavenรญ kliknฤte na okno dalลกรญ .
Krok 4) Kliknฤte na instalovat tlaฤรญtko na zรกvฤr.
Krok 5) Po dokonฤenรญ instalace pลejdฤte na Jenkins Dashboard (ve vรฝchozรญm nastavenรญ http://localhost:8080) v oknฤ prohlรญลพeฤe.
Krok 6) Kliknฤte na Novรฝ pลedmฤt odkaz na vytvoลenรญ รบlohy CI.
Krok 7) Vyberte pลepรญnaฤ projektu Maven, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Pomocรญ sestavenรญ a Projekt Maven volba, Jenkins podporuje tvorbu a testovรกnรญ projektลฏ Maven.
Krok 8) Kliknฤte na tlaฤรญtko OK. Vytvoลรญ se novรก รบloha s nรกzvem โWebdriverTestโ. Jenkins ลรญdicรญ panel.
Krok 9) Pลejรญt ลรญdit Jenkins => Konfigurace systรฉmu jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky.
Kliknฤte na Instalace JDK a nakonfigurujte JDK jako na nรกsledujรญcรญm snรญmku obrazovky:
Krok 10) Pลejรญt na Vytvoลit sekce novรฉ prรกce.
- v Koลenovรฝ POM do textovรฉho pole zadejte รบplnou cestu k pom.xml
- V ฤรกsti Cรญle a moลพnosti zadejte โฤistรฝ testโ
Krok 11) Kliknฤte na Pลihlรกลกka .
Krok 12) Na strรกnce projektu WebdriverTest kliknฤte na Stavte hned odkaz.
Maven projekt postavรญ. To pak bude mรญt TestNG provรฉst testovacรญ pลรญpady.
Krok 13) Jakmile je proces sestavenรญ dokonฤen, v Jenkins Kliknฤte na ovlรกdacรญ panel WebdriverTest projekt
Krok 14) Strรกnka projektu WebdriverTest zobrazuje historii sestavenรญ a odkazy na vรฝsledky, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 15) Kliknutรญm na odkaz โNejnovฤjลกรญ vรฝsledek testuโ zobrazรญte vรฝsledky testu, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky:
Krok 16). Vyberte konkrรฉtnรญ sestavenรญ a aktuรกlnรญ stav uvidรญte kliknutรญm na โvรฝstup konzoly".
Plรกnovรกnรญ Jenkins pro automatickรฉ provedenรญ.
Plรกnovรกnรญ sestavenรญ (Selenium Testy) je jednou z dลฏleลพitรฝch vlastnostรญ Jenkins kde automaticky spouลกtรญ sestavenรญ na zรกkladฤ definovanรฝch kritรฉriรญ. Jenkins nabรญzรญ nฤkolik zpลฏsobลฏ, jak spustit proces sestavenรญ v konfiguraci Spouลกtฤฤe sestavenรญ.
Napลรญklad:
Do textovรฉho pole Plรกn zadejte 0 23 * * *, jak je znรกzornฤno na nรกsledujรญcรญm snรญmku obrazovky. Tรญm se spustรญ proces sestavenรญ kaลพdรฝ den ve 11 hodin
Pouลพitรญ Jenkings bez Mavena
Spuลกtฤnรญ ฤistรฉho skriptu TestNg v Jenkins, zadejte do sestavenรญ nรกsledujรญcรญ
D:>java -cp โPathtolibfolder\lib\*;Pathtobinfolder\binโ org.testng.TestNG testng.xml
- Kliknฤte na tlaฤรญtko Uloลพit.
- Poznรกmka: Skuteฤnou cestu ke sloลพce lib a bin je tลeba pลidat do vรฝลกe uvedenรฉho pลรญkazu.
- Po uloลพenรญ pลรญkazu, Jenkins sestavรญ projekt v pลedem definovanรฉm ฤase a tento pลรญkaz bude spuลกtฤn pomocรญ TestNG.
- Vรฝsledek bude uloลพen v souboru HTML vlastnรญ zprรกvy, kterรฝ lze odeslat e-mailem s konfiguracรญ Jenkin
- Vรฝstup kรณdu bude
Vรฝhody pouลพitรญ Jenkins
- Vฤasnรฉ zjiลกtฤnรญ problรฉmu โ Chybu lze detekovat v ranรฉ fรกzi vรฝvoje softwaru
- Automatickรก integrace โ integrace vลกech zmฤn nevyลพaduje ลพรกdnรฉ zvlรกลกtnรญ รบsilรญ
- Instalaฤnรญ program โ nasaditelnรฝ systรฉm dostupnรฝ v jakรฉmkoli bodฤ vรฝvoje
- Zรกznamy โ udrลพovanรฉ zรกznamy sestavenรญ souฤรกsti
- Podpora a pluginy: Jednรญm z dลฏvodลฏ popularity Jenkina je dostupnost podpory velkรฉ komunity. K dispozici je takรฉ spousta hotovรฝch pluginลฏ, kterรฉ vรกm pomohou rozลกรญลit jeho funkฤnost.




































