Amióta a bevezetésre került, sok tesztelési módszer alakult ki, a paradigmák megváltoztak, de a követelmények valahogy diadalmaskodtak, hogy állandóak maradjanak. Az egyik ilyen módszertan az TestNG amely segít a tesztesetek kódolásának különböző szakaszaiba történő csoportosításában az Annotations segítségével. De hogyan működik? Értsük meg ezt a koncepciót a TestNG Annotations című cikkében .
Az alábbiakban említett témákkal foglalkozom ebben a cikkben:
- Bevezetés a TestNG-be
- Miért érdemes használni a TestNG-t szelénnel?
- TestNG kommentárok a szelénben
- Tesztesetek létrehozása a TestNG kommentárokkal
Bevezetés a TestNG-be
TestNG áll Teszteld a következő generációt és ez egy nyílt forráskódú teszt automatizálási keretrendszer, amelyet a JUnit és a NUnit ihletett. Jól, TestNG nemcsak inspirálta, hanem e két keret továbbfejlesztett változata is. Tehát mi itt a frissítés? A TestNG-vel történő frissítés további funkciókat biztosít, mint például a tesztjegyzetek, a csoportosítás, a prioritások meghatározása, a paraméterezés és a szekvenálás technikái a kódban, ami korábban nem volt lehetséges.
Nemcsak a teszteseteket kezeli, de még a tesztekről is részletes jelentéseket lehet beszerezni a TestNG használatával. Részletes összefoglaló lesz, amely megjeleníti a sikertelen tesztesetek számát. Ezenkívül a hibák legkorábban pontosan megtalálhatók és javíthatók. Most, hogy tudja, mi a TestNG, nézzük meg, miért kell használni a TestNG-t a szelénben.
Miért érdemes használni a TestNG-t a szelénben?
A világ minden tájáról érkező szoftverfejlesztők egybehangzóan egyetértenek abban, hogy a tesztesetekben történő kódírás a hibakeresési idejük jó részét takarítja meg. Miért? Ennek oka, hogy a tesztesetek segítenek a robusztus és hibamentes kód létrehozásában azáltal, hogy az egész kódot kisebb tesztesetekre bontják, majd a tesztesetek mindegyikének kiértékelésével a sikertelen / sikertelen állapotokat hibamentes kódot hozhatja létre. Mivel nem támogatja a kód futtatását teszt esetekben, a TestNG kerül a képbe, amely segít a teszt esetek végrehajtásában.A TestNG a következő szolgáltatásokat is támogatja:
- A jelentést megfelelő formátumban állítja elő, amely számos végrehajtott tesztesetet, a sikertelen tesztesetek és az átugrott tesztesetek számát tartalmazza.
- Több teszteset könnyebben csoportosítható, ha TestNG.xml fájlba konvertálja őket. Itt állíthatja be a tesztesetek végrehajtásának prioritásait.
- A TestNG használatával több tesztesetet is végrehajthat több böngészőben, azaz böngészők közötti tesztelés .
- A tesztelési keretrendszer könnyen integrálható olyan eszközökkel, mint a Maven, Jenkins stb.
Most, hogy tudja, mi a TestNG, és miért használják, lépjünk tovább, és ismerjük meg a TestNG által támogatott különféle jelöléseket a szelénben.
TestNG kommentárok
A szelénben található TestNG kommentárok a következő végrehajtandó módszer vezérlésére szolgálnak. A tesztjegyzetek a tesztkód minden módszere előtt meg vannak határozva. Abban az esetben, ha valamelyik metódus nincs előtaggal annotálva, akkor ezt a módszert figyelmen kívül hagyják, és nem hajtják végre a tesztkód részeként. Meghatározásukhoz a módszereket egyszerűen fel kell tüntetni a következővel: @Teszt ’.
A TestNG jelölések típusai:
Az alábbiakban felsoroljuk azokat a kommentárokat, amelyeket a TestNG támogat a szelénben.
- @BeforeMethod: Egy metódus ezzel a megjegyzéssel minden előtt végrehajtásra kerül @teszt annotált módszer.
- @AfterMethod: Ez minden után végrehajtják az annotációt @teszt annotált módszer.
- @Óra előtt: Ezt a feljegyzést korábban végrehajtjuk első @Test módszer végrehajtása. Osztályonként csak egyszer fut.
- @AfterClass: T annotációja akkor kerül végrehajtásra, ha az aktuális osztály összes vizsgálati módszerét lefuttatták
- @BeforeTest: Egy metódus ezzel a feljegyzéssel korábban végrehajtásra kerül első @Test annotált módszer.
- @AfterTest: Az ezzel a feljegyzéssel rendelkező metódust a program akkor hajtja végre minden @Teszt az annotált módszerek befejezik azoknak az osztályoknak a végrehajtását, amelyekbe inidetag szerepelnek TestNG.xml fájl.
- @BeforeSuite: Ez a megjegyzés futni fog korábban csak egyszer a csomag összes tesztje lefutott
- @AfterSuite: Az ezzel a megjegyzéssel rendelkező módszer futni fog egyszer utána az összes teszt végrehajtása a csomagban lefutott
- @BeforeGroups: Ez a kommentált módszer futni fog az első próbaüzem előtt az adott csoport.
- @AfterGroups: Ez a kommentált módszer futni fog minden vizsgálati módszer után ennek a csoportnak a befejezése befejeződik.
Ez tehát a TestNG kommentárjairól szól. Most lépjünk tovább, és értsük meg, hogyan írhatunk egy első tesztesetet a TestNG segítségével.
Tesztesetek létrehozása a TestNG kommentárokkal
A tesztesetek létrehozásának különféle lépései a TestNG Annotation segítségével a következők:
- Hozzon létre egy projektet, és adja hozzá a TestNG könyvtárat.
- Hozzon létre egy osztályfájlt és kódolja a programot
- Végül írjon XML fájlt, és hajtsa végre a TestNG Suite-on.
Ha további részleteket szeretne megtudni a tesztesemény írásáról a TestNG használatával, akkor kérjük, tekintse meg ezt a cikket TestNG bemutató . Most lépjünk tovább, és értsük meg, hogy a TestNG kommentárok hogyan segítenek a tesztesetek csoportosításában és a program konfigurálásában.
keresztböngésző tesztelés szelén web meghajtóban1. teszteset:
Ebben a tesztesetben három különböző Annotációt fogok használni, és kódolom a programot. Értsük meg, hogyan kell ezt megtenni az alábbi példával.
csomag co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('Chrome böngésző indítása') System.setProperty ('webdriver.chrome.driver', driverPath) driver = új ChromeDriver () driver.get (baseUrl)} @Test public void VerifyHomepageTitle () String várhatóTitle = 'Oktató által vezetett online képzés 24X7 élettartam-támogatással @AfterTest public void terminateBrowser () {driver.close ()}}
Alapvetően azt akarom ellenőrizni, hogy az Edureka weboldal tényleges címe megegyezik-e a várt címmel vagy sem. Tehát először használom a @BeforeTest ’ Megjegyzés és egy böngésző-illesztőprogram létrehozása, valamint az Edureka weboldalon való navigálás a driver.get () módszer. Tehát ezeket a lépéseket kell elvégezni a teszt előtt.
Ezután a teszt során szeretném ellenőrizni, hogy a várható cím és a tényleges cím megegyezik-e vagy sem. Ezért minden lépést megadok a @Test Annotation segítségével. Végül szeretnék bezárni az illesztőprogramot és le kell állítani a böngészőt a teszt után. Ezért használom @AfterTest Megjegyzés és a vezető bezárása. Tehát így csoportosítom a teljes kódot különböző feliratokba, és végrehajtom a tesztesetet. Futtassuk a programot TestNG Test néven, és ellenőrizzük a kimenetet.
A pillanatképen láthatja, hogy a teszteset sikeresen fut egy alapértelmezett teszten és csomagon. Ezenkívül a teszt sikeres volt, és nincs hiba.
Most nézzünk még egy példát a különféle annotációk végrehajtási folyamatának mélyebb megértésére. Nagyon szükséges ismerni az annotációk végrehajtásának folyamatát. Tehát vessünk egy pillantást az alábbi pillanatképre, hogy tudjunk róla.
A kommentárok végrehajtásának folyamata a fenti pillanatképen látható lesz. Most nézzünk még egy példát, hogy megértsük ugyanezt.
2. teszteset:
csomag co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// 1. tesztesemény @Test public void testCase1 () {System.out.println ('1. teszteset')} // 2. teszteset @Test public void testCase2 () {System.out.println ('2. teszteset')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Method ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('Utána')} @BeforeTest public void beforeTest () {System.out.println ('Test előtt')} @AfterTest public void afterTest () {System.out.println ('Test után')} @BeforeSuite public void beforeSuite () {System.out.println ('Suite előtt')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}
A fenti kódban az összes módszert véletlenszerűen írom Annotációkkal. Nem követem annak sorrendjét. De amikor végrehajtom a programot, ugyanezt a sorrendet követi. Most ellenőrizzük a kimenetet.
A [RemoteTestNG] a TestNG 6.14.2 verzióját észlelte a Test előtt a teszt előtt, az osztály előtt, a módszer előtt, az 1. teszteset után, a módszer előtt, a módszer előtt, a 2. teszteset után, a módszer után, miután az osztály után, a teszt után, PASSED: testCase1 PASSED: testCase2 =========== ==================================== Alapértelmezett tesztfuttatások: Futtatott tesztek: 2, hibák: 0, kihagyások: 0 ================================================= Suite után = ================================================ Alapértelmezett csomag Összes teszt futás: 2, kudarcok: 0, kihagyások: 0 ========================================= ========
A fenti kimenetből észreveheti, hogy a teszteseteket, a Before Suite és After Suite programokat pedig csak egyszer hajtotta végre. A teszt az alapértelmezett teszten és csomagon is sikeresen futott. Így kell végrehajtania a teszteseteket az Annotations segítségével.Tehát ezzel eljutunk a szelén TestNG kommentárjairól szóló cikkünk végéhez.
Remélem, megértette a fogalmakat, és ez hozzáadott értéket adott a tudásához. Most, ha további betekintést szeretne kapni a szelénbe, nézze meg a cikket .
Ha megtalálta ezt a „TestNG Annotations in Selenium ' ide vonatkozó, nézd meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon.
A system.exit (0) a program leállítására használható.
Van egy kérdésünk? Kérjük, említse meg a TestNG kommentárok a szelénben cikket, és még visszatérünk.