TestNG csoportok: Tartalmazza, kizárja a példával - Szelén oktatóanyag

Tartalomjegyzék:

Anonim

A TestNG egy tesztelési keretrendszer, amely különböző típusú tesztterveket fed le, mint például egység, funkcionális, végponttól végig, felhasználói felület és integrációs teszt.

Futtathat egy vagy több csomagot (a csomag itt azt jelenti, hogy egy osztálycsoportot megfelelő rendezői formátumba foglal be) XML létrehozásával és futtatásával a mavenen.

Ebben az oktatóanyagban megtanulja-

  • TestNG csoportok példával
  • Maven és Java elérési út beállítása a környezeti változóban (Windows felhasználó számára)
  • Bevezetés az XML-be és az XML-fájlok készítésének módja
  • A csoportosítás helyett egy másik mechanizmus a „kizárás” vagy „belefoglalás” a teszt XML-be
  • A kód futtatása XML fájl használatával (video demo)

TestNG csoportok példával

Csoportokat használunk a Testng-ben, amikor

  • Nem akarjuk külön meghatározni a vizsgálati módszereket a különböző osztályokban (a funkcionalitástól függően) és
  • Ugyanakkor figyelmen kívül hagyni (nem végrehajtani) néhány tesztesetet, mintha nem lennének a kódban.
  • Tehát ennek megvalósításához csoportosítanunk kell őket. Ez a testNG által támogatott "include" és "kizár" mechanizmus használatával történik.

Az alábbi példában bemutattuk a szintaxist a csoportok használatáról az XML fájlban.

@Teszt (csoportok = {"kötés", "erős_tiesok"}) 

Itt két csoportnevet használunk, azaz "kötés" és "erős_jegyek" (ezek logikai név, amelyet kívánsága szerint módosíthatunk).

A címke meghatározza a csoportok kezdetét az XML-ben.

Testreszabhatja XML-jét, hogy kiválassza az említett csoportot a tesztosztályok közül. Az alábbiakban említem a szintaxist, hogyan lehet deklarálni a csoportokat XML fájlban, pl

Tegyük fel tehát, hogy egy osztályban 10 vizsgálati módszer létezik.

Belőlük,

  • 6 módszer van megjelölve a "kötés" csoportban és
  • 4 az "strong_ties" csoportba tartozik

Tovább haladva meghatározzuk a maven / Java elérési utat, és az Eclipse IDE használatával bemutatjuk az XML fájlokat használó csoportok használatát a Java alapú maven projektben.

Maven és Java elérési út beállítása a környezeti változóban (Windows felhasználó számára)

Lásd: https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html

https://www.guru99.com/install-java.html

Bevezetés az XML-be és az XML-fájlok készítésének módja

  • Az XML (Extensible Markup Language) fájl a Maven keretrendszerben egy vagy több teszt adatait tartalmazza, és a címke határozza meg .
  • Az XML-ben található tesztinformációkat a címke képviseli, és egy vagy több TestNG osztályt tartalmazhat.
  • A Java osztály, amely a tesztmódszerek fölött @Test annotációt tartalmaz, TestNG módszerként definiálva van.

Több címkét használnak egymás után egy működő teszt NG xml felépítéséhez, például: , és

  • Az első a címke, amely egy logikai nevet tartalmaz, amely meghatározza a végrehajtandó jelentés generálásához bejelentett testNG teljes adatait.
  • A második a , vegye figyelembe, hogy ez egy logikus név, amely a teszt végrehajtási jelentésének információit tárolja, mint például a sikeres, sikertelen, a tesztesetek kihagyása és egyéb információk, például a teljes végrehajtás ideje és a csoportinformációk
  • A harmadik a , a com.group.guru99 a használt csomag, a Test Class neve pedig TC_Class1.

Ezt az XML-t a közelgő videó hátrányaihoz fogjuk használni.

A csoportosítás helyett egy másik mechanizmus a "kizárás" vagy "belefoglalás" a teszt XML-be

Tegyük fel, hogy a csoportmechanizmus használatát bonyolultnak találja, majd a testNG XML megkönnyíti a funkcionalitást a teszt kizárására / beépítésére.

Kizárás Tag : szintaxis zárja tag  Include Tag : szintaxis közé tag 

Megjegyzés: Több tesztesetet is felvehetünk / kizárhatunk egyszerre, és ez a Csoportokkal is működik.

A kód futtatása XML fájl használatával (video demo)

A Java kód és az XML magyarázata a csoporttal, kizárja és belefoglalja a címkét az XML-be.

  • Forgatókönyv : Indítsa el a Guru99 bemutató banki webhelyet, ellenőrizze, hogy a bejelentkezési oldalon néhány dolog van-e, majd adja meg a hitelesítő adatokat, és bejelentkezéskor ellenőrizzen újra néhány új dolgot az alkalmazásban.

Megjegyzés : Minden kódolt lépést külön metódusokban kell deklarálni, de végrehajtásakor az XML fájl bejegyzéseitől függően végrehajtja a vizsgálati módszereket.

1. módszer : A böngésző inicializálása és az URL elindítása (tc01LaunchURL ())

2. módszer : A bejelentkezési oldal fejlécének ellenőrzése (tc02VerifyLaunchPage ())

3. módszer : Írja be a felhasználónevet és a jelszót a bejelentkezési űrlapba (tc03EnterCredentials ())

4. módszer : Ellenőrizze a kezelői azonosító jelenlétét a felhasználói irányítópulton (tc04VerifyLoggedInPage ())

5. módszer : Ellenőrizzen még néhány linket a felhasználói kezelőpulton (tc05VerifyHyperlinks ())

Forgatókönyvünk kódja:

com.group.guru99 csomag;importálja a java.util.concurrent.TimeUnit;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;nyilvános osztály TC_Class1 {public static final WebDriver webDriver = new FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 Bank']";végső karakterlánc userName_element = "// input [@ name = 'uid']", password_element = "// input [@ name = 'password']",signIn_element = "// input [@ name = 'btnLogin']";végső karakterlánc userName_value = "mngr28642", password_value = "ydAnate";végleges karakterlánc-kezelőID = "// td [tartalmazza (text (), 'Manger Id')]];végső karakterlánc newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Ez a tesztesemény inicializálja a webDriver programot* /@Teszt (csoportok = {"kötés", "erős_tiesok"})public void tc01LaunchURL () {webDriver.manage (). ablak (). maximalizálás ();webDriver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Ellenőrizni fogja a Heading meglétét a bejelentkezési oldalon* /@Test (csoportok = {"kötés"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"A kezdőlap címsora nem jelenik meg");System.out.println ("Megjelenik a kezdőlap címsora");}/ *** Ez a teszteset megadja a Felhasználónév és a jelszót, majd rákattint* Bejelentkezés gombra* /@Teszt (csoportok = {"kötés", "erős_tiesok"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (felhasználónév_element)). sendKeys (felhasználónév_érték);webDriver.findElement (By.xpath (jelszó_element)). sendKeys (jelszó_érték);webDriver.findElement (By.xpath (signIn_element)). kattintson ();}/ *** Ez a teszteset igazolja a kezelői azonosító jelenlétét a DashBoardon* /@Teszt (csoportok = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"A kezelői azonosító címke nem jelenik meg");System.out.println ("Megjelenik a Manger Id címke");}/ *** Ez a teszteset ellenőrzi az Új ügyfél link jelenlétét* És a FundTransfer link a bal oldali panelen* /@Test (csoportok = {"kötés"})public void tc05VerifyHyperlinkek () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Az új ügyfél hiperhivatkozása nem jelenik meg");System.out.println ("Megjelenik az új ügyfél hiperhivatkozása");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Az átutalás hiperhivatkozása nem jelenik meg");System.out.println ("Megjelenik az átutalás hiperhivatkozása");}}

Felhívjuk figyelmét: A hitelesítő adatok csak 20 napig érvényesek, tehát ha a helyi gépen próbál futtatni kódot, akkor érvénytelen hitelesítési adatokkal szembesülhet. A bejelentkezési adatok létrehozásához kövesse az alábbi lépéseket:

  1. Indítsa el a http://www.demo.guru99.com webhelyet
  2. Írja be e-mail azonosítóját a mezőbe.
  3. Kattintson az Enter gombra, és tekintse meg bejelentkezési adatait a képernyőn.

A kód magyarázata:

Mint fent említettük, 5 tesztesetet hoztunk létre az egyes műveletek független módszerekkel történő végrehajtására.

Megfigyelheti, hogy minden módszerhez társítottunk egy csoportparamétert, amely valamilyen értéket tartalmaz.

Alapvetően ezek a megkülönböztető csoportok neve, azaz "erős_idők" és "kötés".

  • Az első és a harmadik módszer a "kötés", "strong_ties" címkével van ellátva, ami azt jelenti, hogy ha az XML bármelyik csoportban frissül, akkor ez a teszteset lefut.
  • A második módszer csak a "kötés" csoporthoz van címkézve, ez azt jelenti, hogy ha az XML frissül kötési csoporttal. Csak ebben az esetben fut ez a teszteset.
  • A negyedik teszteset a strong_ties csoporthoz van címkézve, ami azt jelenti, hogy ez a teszteset csak akkor fog futni, ha az XML-t erős_ties csoportnévvel frissítik.
  • Az utolsó, de nem utolsósorban az ötödik teszteset a kötési csoporthoz van csatolva, ami azt jelenti, hogy ez a teszteset csak akkor fog futni, ha az XML frissül a kötési csoport nevével.

Összességében tehát 4 forgatókönyvünk van;

  1. Minden tesztesetet futtatni akarunk, a csoport nevétől függetlenül. Ebben az esetben eltávolítjuk a Group tag-et az XML futtatásáról.
  1. Néhány olyan tesztet akarunk lefuttatni, amely csak a csoportok egyikére vonatkozik, azaz erős_sűrűségre vagy kötésre
  • Kérlek hivatkozz:

  • Ebben a videóban a Group paramétert megjegyzik az XML futtatásával. Ezért látni fogja, hogy az összes tesztesetet végrehajtották.
  • A videó folytatásaként most felvettük a csoport nevét az XML-be, és csak az adott csoportra jellemző tesztesetek láthatók.
  1. Kizárási mechanizmust használunk a teszteset kizárására:
  • Kérlek hivatkozz

  • Látja, hogy néhány tesztesetet (tc02) kizártunk azzal, hogy nevüket az XML futtatásával írtuk be. A végeredményben az említett tesztesetek nem futottak.
  1. Végül a tesztesetek beépítéséhez a beépített teszt mechanizmust használjuk (tc01LaunchURL, tc03EnterCredentials és tc05VerifyHyperlinks)
    • Kérlek hivatkozz

    • Ebben a videóban láthatja, hogy az XML-ben említett tesztesetek csak a teszt végrehajtása során futnak.

    Kérjük, töltse le a kódot az említett URL-ről, az minden típusú testXML-t tartalmaz:

    Töltse le a fenti kódot

    Következtetés

    Itt megtanultunk egy viszonylag új módszert a tesztesetek futtatására az XML használatával a Maven projektben.

    Először a testNG rövid bemutatásával kezdtük, és folytattuk a Csoportok, kizárás és bevonás teljes műszaki specifikációját.