a régi & megbízható JUnit teszt keretrendszerrel ellentétben a TestNG a modern tesztautomatizálási eszköz. Beépített támogatást nyújt az adatvezérelt teszteléshez, és kétféle módon biztosítja az adatok szolgáltatását a tesztesetekhez, azaz a TestNG paramétereken és a DataProvider megjegyzéseken keresztül.
e két megjegyzés hozzáadásával a TestNG keretrendszer jelentős hiányosságot töltött be, mint elődje. Ezen kommentárok egyike hozzáadja a rögzített adatértékek használatát a tesztesetekben, míg a másik lehetővé teszi az értékek lekérdezését bármilyen külső adatforrásból, például az Excel vagy a tulajdonságok fájlokból.
a következő szakaszokban mind a TestNG paraméterek, mind a DataProvider kommentárok élő használatát láthatja futtatásra kész példákkal.
- Learn – TestNG paraméterek és DataProvider Megjegyzések
- parametrikus tesztelés előnyei
- @Parameters Annotation
- példa – @paraméterek kommentár
- Step-1
- Lépés-2
- @opcionális annotáció
- példa – @opcionális annotáció
- TestNG XML
- kimenet:
- @DataProvider Annotation
- tények a @ DataProvider Kommentárról
- A @DataProvider annotáció használata
- példa a @DataProvider annotáció használatával
- TestNG XML fájl
- kimenet:
- Final Word – TestNG paraméterek és DataProvider
Learn – TestNG paraméterek és DataProvider Megjegyzések
parametrikus tesztelés előnyei
mielőtt folytatnánk, értsük meg az adatvezérelt/parametrikus tesztelés előnyeit. Bármely tesztautomatizálási eszköz, amely mindkét képességgel rendelkezik, hatékonyan képes gondoskodni a következő esetekről.
- feldolgozza a nagy adathalmazt az üzleti követelmények szerint.
- futtassa ugyanazt a tesztet újra és újra különböző értékekkel.
nézzük meg, mikor és hogyan használhatjuk a <@Parameters> annotációt a TestNG projektekben.
@Parameters Annotation
ennek az annotációnak a segítségével engedélyezheti az egyes, valamint több paraméter értékét a vizsgálati módszerekhez.
paraméter teszteléshez használhatjuk. Célszerű, ha az adatok kicsi és rögzített a vizsgálati esetekben.
példa – @paraméterek kommentár
kövesse az alábbi lépéseket a<@paraméterek> kommentár használatához.
Step-1
Hozzon létre egy új Java osztályt, és nevezze el < Parametersstesting néven.Java>. Adja hozzá a következő két módszert az osztályhoz.
i-OpenBrowser ()
- egyetlen karakterlánc típusú paraméterre lesz szükség, azaz browserName.
- adja hozzá a @paraméterek(“BrowserName”) megjegyzést ehhez a módszerhez.
ii – FillLoginForm ()
Lépés-2
Az alábbiakban a TestNG.XML fájl a vizsgálati módszerekhez kapcsolódó paraméterekkel.
itt az ideje, hogy végre a < TestNG.XML> fájl. Kattintson a jobb gombbal az Eclipse IDE XML fájljára, majd nyomja meg a “Futtatás >> TestNG Suite” opciót. A végrehajtás után a kimenet úgy jelenik meg, mint az alábbi képernyőképen.
egy másik érdekes tény a TestNG-ről, hogy lehetővé teszi az opcionális paraméterek átadását a @opcionális annotáció használatával.
@opcionális annotáció
ezzel megadhat egy opcionális értéket egy olyan paraméterhez, amely nem érhető el a TestNG-ben.XML fájl.
példa – @opcionális annotáció
Lásd az alábbi @opcionális annotációs példát.
TestNG XML
itt van a “TestNG.XML ” a fenti példához társítva.
ellenőrizheti a fenti< testng.xml> fájl, amely két vizsgálati módszert definiál benne. Az első tesztnek nincs paramétere, míg a második az “opcionális-érték” nevű paramétert határozza meg.”
kimenet:
a < testng futtatása után.xml> tesztcsomagként a kimenet a következő lenne.
ha megfigyeli a teszt eredményeit, a TestNG az opcionális értéket használta az első teszt módszer végrehajtása során. Ez azért történt, mert a TestNG nem talált “opcionális érték” nevű paramétert az XML fájlban az első teszthez. A második teszt esetében azonban megoldotta a paraméter értékét, amelyet a teszt végrehajtása során is kinyomtatnak.
a jegyzethez használhatja a paraméter annotációt az előtte/utána, a gyári és a teszt annotált módszerek bármelyikével. Ezenkívül felhasználhatja a változók beállítására és használatára az osztályban, a tesztben vagy a tesztcsomagban.
@DataProvider Annotation
az adatszolgáltató egy másik annotáció, amely támogatja az adatvezérelt tesztelést. Használhatja a komplex paraméterek széles skálájának kezelésére, mint például a következők.
- Java objektumok
- objektumok egy adatbázisból
- adatok Excel-ből vagy tulajdonságfájlokból
tények a @ DataProvider Kommentárról
Az alábbiakban néhány érdekes tény található az adatszolgáltatóról.
- ennek a megjegyzésnek egy string attribútuma van, amely a neve. Ha nem ad meg nevet, akkor a metódus neve lesz az alapértelmezett név.
- egy adatszolgáltató módszer elkészíti és visszaadja az objektumok 2-d listáját.
- egy adatvezérelt teszt egyszer futna az adatszolgáltató objektum által megadott minden adatkészletre.
A @DataProvider annotáció használata
most nézzük meg az adatszolgáltató annotáció használatához szükséges lépéseket az adatvezérelt teszteléshez.
- hozzon létre egy új Java osztályt, mondjuk a DataProviderTest.Java.
- adja meg a<@DataProvider>használatával jegyzetelt adatszolgáltató módszert. Vissza kell adnia az objektumok 2-d listáját.
- adjon hozzá egy vizsgálati módszert, és díszítse azt a<@Test(dataProvider = “adatszolgáltató neve”)>használatával.
az adatszolgáltató kommentárjának egyértelműbb megértéséhez olvassa el figyelmesen az alábbi kódpéldát. Ebben a kódpéldában bemutatjuk az adatszolgáltatók három különböző felhasználását.
- Java egész objektum átadása az adatszolgáltatóval
- Java bean objektum streamingje az adatszolgáltatóval
példa a @DataProvider annotáció használatával
TestNG XML fájl
a fenti kódot az Eclipse-ből futtathatja TestNG tesztként. Vagy létrehozhatja a <TestNG.XML> majd futtassa az XML fájlt TestNG csomagként.
kimenet:
a fenti kód tesztként vagy tesztcsomagként történő végrehajtása után a következő kimenet jelenik meg. Kérjük, ellenőrizze az alábbi részletből.
Final Word – TestNG paraméterek és DataProvider
megpróbáltunk a lehető legtöbbet lefedni a TestNG paraméterekről és a DataProvider megjegyzésekről a példákkal együtt. Bár sok más adatszolgáltató felhasználási eset is létezik, amelyeket külön bejegyzésben kezelnénk. Addig is élvezze ezt a bejegyzést, és ossza meg a közösségi médiában.
minden jót,
TechBeamers