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:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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ลกรญ

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Krok 3) Na Novรฝ projekt Maven dialogu vyberte Vytvoล™te jednoduchรฝ projekt a klepnฤ›te na tlaฤรญtko Dalลกรญ

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Krok 4) Zadejte WebdriverTest do ID skupiny: a ID artefaktu: a kliknฤ›te na Dokonฤit

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Krok 5) Eclipse vytvoล™รญ WebdriverTest s nรกsledujรญcรญ strukturou:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Seleniuml

Krok 6) Kliknฤ›te pravรฝm tlaฤรญtkem na Systรฉmovรก knihovna JRE A vyberte poloลพku Nemovitosti z nabรญdky.

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Na Vlastnosti systรฉmovรฉ knihovny JRE dialogovรฉ okno, ujistฤ›te se Vรฝchozรญ JRE pracovnรญho prostoru a klepnฤ›te na OK

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Krok 7). Vybrat pom.xml od Prลฏzkumnรญk projektu..

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Soubor pom.xml se otevล™e v sekci Editor

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Krok 10). Eclipse vytvoล™รญ tล™รญdu NewTest, jak je znรกzornฤ›no na nรกsledujรญcรญm snรญmku obrazovky:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

Ujistฤ›te se, ลพe sestavenรญ bylo รบspฤ›ลกnฤ› dokonฤeno.

Krok 14). Navรญc musรญme pล™idat

  1. maven-compiler-plugin
  2. maven-surefire-plugin
  3. 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:

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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.

Nainstalujte si Maven a pouลพรญvejte jej s TestNG Selenium

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.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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:

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 3) In Jenkins NIKDY nastavenรญ kliknฤ›te na okno dalลกรญ .

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 4) Kliknฤ›te na instalovat tlaฤรญtko na zรกvฤ›r.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 6) Kliknฤ›te na Novรฝ pล™edmฤ›t odkaz na vytvoล™enรญ รบlohy CI.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 7) Vyberte pล™epรญnaฤ projektu Maven, jak je znรกzornฤ›no na nรกsledujรญcรญm snรญmku obrazovky:

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 9) Pล™ejรญt ล˜รญdit Jenkins => Konfigurace systรฉmu jak je znรกzornฤ›no na nรกsledujรญcรญm snรญmku obrazovky.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Kliknฤ›te na Instalace JDK a nakonfigurujte JDK jako na nรกsledujรญcรญm snรญmku obrazovky:

Integrace Jenkins S Selenium WebDrive

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โ€œ
  • Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 11) Kliknฤ›te na Pล™ihlรกลกka .

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 12) Na strรกnce projektu WebdriverTest kliknฤ›te na Stavte hned odkaz.

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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:

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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:

Integrace Jenkins S Selenium webovรฝ ovladaฤ

Krok 16). Vyberte konkrรฉtnรญ sestavenรญ a aktuรกlnรญ stav uvidรญte kliknutรญm na โ€žvรฝstup konzoly".

Integrace Jenkins S Selenium webovรฝ ovladaฤ

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

Jenkins pro automatickรฉ spuลกtฤ›nรญ

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

Jenkins pro automatickรฉ spuลกtฤ›nรญ

  • 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

Jenkins pro automatickรฉ spuลกtฤ›nรญ

Vรฝhody pouลพitรญ Jenkins

  1. Vฤasnรฉ zjiลกtฤ›nรญ problรฉmu โ€“ Chybu lze detekovat v ranรฉ fรกzi vรฝvoje softwaru
  2. Automatickรก integrace โ€“ integrace vลกech zmฤ›n nevyลพaduje ลพรกdnรฉ zvlรกลกtnรญ รบsilรญ
  3. Instalaฤnรญ program โ€“ nasaditelnรฝ systรฉm dostupnรฝ v jakรฉmkoli bodฤ› vรฝvoje
  4. Zรกznamy โ€“ udrลพovanรฉ zรกznamy sestavenรญ souฤรกsti
  5. 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.

Shrลˆte tento pล™รญspฤ›vek takto: