Integrace Maven & Jenkins s Selenium konzultace
V čem je Jenkins Selenium?
Jenkins je přední open source kontinuální integrační nástroj vyvinutý laboratoří Hudson. Je multiplatformní a lze jej použít na Windows, Linux, Mac OS a Solaris prostředí. Jenkins je napsán 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 Jenkinse
- Podpora změn: Jenkins generuje seznam všech změn provedených v úložiští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 se snadno instaluje buď pomocí přímého instalačního souboru (exe) nebo souboru war pro nasazení pomocí aplikačního serveru.
- Integrace e-mailu: Jenkins lze nakonfigurovat tak, aby e-mailem poslal obsah stavu sestavení.
- Snadná konfigurace: Konfigurace různých úloh na Jenkins je snadná.
- TestNG test: Jenkins lze nakonfigurovat tak, aby spouštěl sestavení testu automatizace Testng po každém sestavení SVN.
- Více virtuálních počítačů: Jenkins lze nakonfigurovat tak, aby distribuoval sestavení na více počítačích.
- Sestavení projektu: Jenkins dokumentuje podrobnosti o jaru, verzi jaru a mapování čísel sestavení a jaru.
- Pluginy: 3rd Party plugin lze nakonfigurovat v Jenkins pro použití funkcí a dalších funkcí.
Proč Jenkins a Selenium?
- Běh Selenium testy v Jenkins vám umožňují spouštět testy pokaždé, když se váš software změní, a nasadit software do nového prostředí, když testy projdou.
- Jenkins může 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 Mavena při budová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ěří titul 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 Jenkinse a jeho konfiguraci pro spuštění 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áš OS. Nainstalujte Jenkins.
Krok 2) Rozbalte Jenkinse 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 Nastavení Jenkins 1.607 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 v okně prohlížeče na Jenkins Dashboard (ve výchozím nastavení http://localhost:8080).
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 Jenkins podporuje vytváření a testování projektů Maven.
Krok 8) Klepněte na tlačítko OK. V Jenkins Dashboard je vytvořena nová úloha s názvem „WebdriverTest“.
Krok 9) Přejít Spravujte Jenkinsa => 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, klikněte na panelu Jenkins Dashboard na 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í Jenkinse pro automatické spuštění.
Plánování sestavení (Selenium Tests) je jednou z důležitých funkcí Jenkins, kde automaticky spouští sestavení na základě definovaných kritérií. Jenkins poskytuje několik způsobů, jak spustit proces sestavení v konfiguraci Build Trigger.
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
Chcete-li spustit čistý skript 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ředdefinované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žívání 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.