A legutóbbi Selenium oktatóanyagban bemutattuk Önnek a Selenium Gridet, amely a felgyorsulás érdekében elosztott tesztfuttatási környezet tesztbérlet végrehajtása.
Az átfogó szelén képzési sorozat végén haladó szelén tesztelést és kapcsolódó fogalmakat tanulunk.
Ebben és a következő oktatóanyagban bemutatom Önnek az Uborka – egy viselkedésvezérelt fejlesztés (BDD) keretrendszert, amelyet a szelénnel együtt használnak az elfogadási tesztek elvégzéséhez.
Bevezetés az uborka
Az uborka a Behavior Driven Development (BDD) keretrendszeren alapuló eszköz, amelyet a webalkalmazás elfogadási tesztjeinek megírásához használnak. Lehetővé teszi a funkcionális validáció automatizálását könnyen olvasható és érthető formátumban (például egyszerű angol nyelven) az üzleti elemzők, fejlesztők, tesztelők stb. Számára.
Az uborka funkciófájlok mindenki számára jó dokumentumként szolgálhatnak. Sok más eszköz, például a JBehave, amelyek szintén támogatják a BDD keretrendszert. Kezdetben az uborkát a Ruby-ban hajtották végre, majd kiterjesztették a Java keretrendszerre is. Mindkét eszköz támogatja a natív JUnit funkciót.
A viselkedésvezérelt fejlesztés a tesztvezérelt fejlesztés kiterjesztése, és a rendszer tesztelésére szolgál, nem pedig az adott kódrészlet tesztelésére. Többet tárgyalunk a BDD-ről és a BDD-tesztek írásmódjáról.
Az uborka használható a szelén, a Watir és a Capybara stb. Mellett. Az uborka számos más nyelvet támogat, például Perl, PHP, Python, Net stb. ebben a bemutatóban az uborka Java-val mint nyelvvel fogunk összpontosítani.
Az uborka alapjai
Az uborka megértéséhez ismerni kell az uborka összes tulajdonságát és használatát.
# 1) Funkciófájlok:
A funkciófájlok az uborka lényeges részét képezik, amelyet tesztautomatizálási lépések vagy elfogadási tesztek megírásához használnak. Ez élő dokumentumként használható. A lépések az alkalmazás specifikációi. Az összes szolgáltatásfájl .feature kiterjesztéssel végződik.
Minta funkciófájl:
Funkció: Bejelentkezés funkció funkció
A bejelentkezési funkció működésének biztosítása érdekében
Szeretném futtatni az uborka tesztet, hogy ellenőrizzem, működik-e.
Forgatókönyv: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigál
Amikor a felhasználó bejelentkezik a felhasználónévvel, mint “USER” “És” PASSWORD “jelszó
Ezután a bejelentkezésnek sikeresnek kell lennie.
Forgatókönyv: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigál
Amikor a felhasználó bejelentkezik a felhasználónévvel, mint” USER1 ”és„ PASSWORD1 ”jelszó
Ezután hibaüzenetet kell küldeni
# 2) Funkció:
Ez információt nyújt a magas szintű üzleti funkcionalitásról (lásd az előzőt példa) és a tesztelés alatt álló alkalmazás célját. Mindenkinek képesnek kell lennie megérteni a funkció fájl szándékát az első Feature lépés elolvasásával. Ez a rész alapvetően rövid.
# 3) Forgatókönyv:
Alapvetően a forgatókönyv egy adott funkciót képvisel, amelyet tesztelnek. A forgatókönyv látásával a felhasználónak meg kell értenie a forgatókönyv mögött rejlő szándékot és azt, hogy mi a teszt. Minden forgatókönyvnek meg kell felelnie a megadott formátumnak, formátumnak Ezt a nyelvet “uborka” -nak hívják.
- Adva: Amint fent említettük, a megadott megadja az előfeltételeket. Alapjában véve ismert állapot.
- Mikor: Ez használt, amikor valamilyen műveletet végre kell hajtani. A fenti példához hasonlóan láthattuk, amikor a felhasználó felhasználónévvel és jelszóval próbál bejelentkezni, ez művelet lesz.
- Ezután: A várható eredményt vagy eredményt meg kell adni Például: ellenőrizze, hogy a bejelentkezés sikeres-e, az oldal navigációja sikeres-e.
- Háttér: Ha minden lépésre szükség van az egyes forgatókönyvek végrehajtásához, ezeket a lépéseket a Háttérbe kell helyezni. Például: Ha a felhasználónak minden forgatókönyv előtt törölnie kell az adatbázist, majd ezek a lépések háttérbe kerülhetnek.
- És: És két vagy több azonos típusú művelet kombinálására szolgál.
Példa:
Funkció: Bejelentkezés funkció funkció
Forgatókönyv: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigál
Amikor a felhasználó a “USER” felhasználónévvel jelentkezik be
És passwo rd mint “jelszó”
Akkor a bejelentkezésnek sikeresnek kell lennie
És meg kell jeleníteni a kezdőlapot
Példa a háttérre:
Háttér:
Adva felhasználó be van jelentkezve adatbázis-adminisztrátorként
És az összes levélszemét törlődik.
# 4) Forgatókönyv vázlata:
A forgatókönyvvázlatok akkor használatosak, amikor ugyanazt a tesztet különböző adatkészlet. Vegyük ugyanezt a példát. Többféle felhasználónévvel és jelszóval kell tesztelnünk a bejelentkezési funkcionalitást.
Funkció: Bejelentkezésfunkció funkció
A bejelentkezési funkció működésének biztosítása érdekében
a uborka teszt annak ellenőrzésére, hogy működik-e
Forgatókönyv vázlat: Bejelentkezés funkció
Adott felhasználó a SOFTWARETESTINGHELP oldalra navigál.COM
Amikor a felhasználó a felhasználónévvel < felhasználónévvel jelentkezik be > és jelszóval < jelszó >
Akkor a bejelentkezésnek sikeresnek kell lennie
Példák:
| felhasználónév | jelszó |
| Tom | jelszó1 |
| Harry | jelszó2 |
| Jerry | jelszó3 |
Megjegyzés:
- Amint a fenti példában látható, az oszlopnevek paraméterként kerülnek átadásra a When utasításhoz.
- A forgatókönyv helyett a forgatókönyv vázlatát kell használnia.
- Példák segítségével különböző argumentumokat adhatunk meg táblázatos formátumban. A függőleges csöveket két különböző oszlop elválasztására használják. Egy példa sok különböző oszlopot tartalmazhat.
# 5) Címkék:
Az uborka alapértelmezés szerint az összes forgatókönyvet futtatja az összes szolgáltatásfájlban. Valós idejű projektekben több száz olyan fájl lehet, amelyeknek nem kell mindig futtatniuk.
Például: A füstteszthez kapcsolódó funkciófájlokat nem kell folyamatosan futtatni. Tehát, ha minden funkciófájlban füstmentes címkét említ, amely a füstteszthez kapcsolódik, és az uborka tesztet a @SmokeTest címkével futtatja. Az Uborka csak az adott címkékre jellemző szolgáltatásfájlokat futtatja. Kérjük, kövesse az alábbi példát. Több címkét is megadhat egy funkciófájlban.
Példa az egyes címkék használatára:
@SmokeTest
Feature: Bejelentkezés funkció Feature
A bejelentkezési funkcionalitás biztosítása érdekében
szeretném futtatni az uborka tesztet annak ellenőrzésére, hogy működik-e.
Forgatókönyv vázlat: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETESTINGHELP oldalra navigál. COM
Amikor a felhasználó a felhasználónévvel < felhasználónévvel jelentkezik be > és jelszóval < jelszó >
Akkor a bejelentkezésnek sikeresnek kell lennie.
Példa több címke használatára:
Amint az az alábbi példában látható, ugyanaz a funkciófájl használható füstteszt forgatókönyvekhez, valamint bejelentkezési teszt forgatókönyvekhez. Amikor füsttesztként kívánja futtatni a szkriptet, használja a @SmokeTest parancsot. Hasonlóképpen, ha azt akarja, hogy a szkriptje belépjen a Login tesztbe, használja a @LoginTest címkét.
Bármely számú címkét meg lehet említeni egy szolgáltatásfájlnál és a forgatókönyvnél is.
@SmokeTest @ LoginTest
Funkció: Bejelentkezés funkció funkció
A bejelentkezési funkció működésének biztosítása érdekében
szeretném futtatni az uborka tesztet, hogy ellenőrizzem, működik-e
Forgatókönyv vázlata: Bejelentkezési funkció
Adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigálva
Amikor a felhasználó bejelentkezik a Felhasználónév használatával < felhasználónévvel > és jelszó < jelszó >
Ezután a bejelentkezésnek sikeresnek kell lennie.
Hasonlóképpen adjon meg címkéket az adott forgatókönyv futtatásához egy szolgáltatásfájlban. Kérjük, ellenőrizze az alábbi példát egy adott forgatókönyv futtatásához.
Funkció: Bejelentkezés funkció funkció
A bejelentkezési funkció működésének biztosítása érdekében
szeretném futtatni az uborka tesztet annak igazolására, hogy működik
@positiveScenario
Forgatókönyv: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigál
Amikor a felhasználó a “USER” és a “Password” jelszó használatával jelentkezik be
Akkor a bejelentkezésnek sikeresnek kell lennie.
@negaviveScenario
Forgatókönyv: Bejelentkezés funkció
Az adott felhasználó a SOFTWARETETINGHELP.COM webhelyre navigál
Amikor a felhasználó “USER1” felhasználónévvel jelentkezik be. és “PASSWORD1” jelszó
Ezután a hibaüzenetnek dobnia kell
# 6) JUnit Runner:
Az adott szolgáltatásfájl futtatásához az uborka használja a szokásos JUnit Runnert, és adja meg a címkéket az @Uborka . Lehetőségek. A vesszővel elválasztva több címke is megadható. Itt adhatja meg a jelentés elérési útját és a létrehozni kívánt jelentés típusát.
Példa a Junit Runner-re:
Hasonlóképpen utasítást adhat az uborka számára, hogy futtasson több címkét. Az alábbi példa bemutatja, hogyan lehet több címkét használni az uborkában különböző forgatókönyvek futtatásához.
# 7) Uborka jelentés:
Az uborka létrehozza saját HTML formátumát. Jobb jelentéstétel azonban a Jenkins vagy a bambusz eszköz segítségével történhet. A jelentések részleteiről az uborka következő témája foglalkozik.
Uborka projekt beállítása:
Az uborka projekt beállításának részletes magyarázata külön elérhető a következő oktatóanyagban. A projekt beállításával kapcsolatos további információkért olvassa el az Uborka bemutató 2. részét. Ne feledje, hogy az uborkához nincs szükség külön szoftver telepítésre.
A Feature fájl megvalósítása:
Ezeket a lépéseket Java-ban kell végrehajtanunk a funkciófájlok teszteléséhez. Létre kell hozni egy osztályt, amely tartalmazza a megadottakat, mikor, majd utasításokat. Az uborka a jegyzeteit használja, és az összes lépés beágyazódik ezekbe a megjegyzésekbe (megadva, mikor, akkor). Minden kifejezés “^” betűvel kezdődik, hogy az uborka megértse a lépés kezdetét. Hasonlóképpen minden lépés “$” -val végződik. A felhasználó a reguláris kifejezéseket használhatja a különböző tesztadatok átadásához. A reguláris kifejezések a jellemző lépésekből veszik át az adatokat, és továbbadják a lépések definícióihoz.A paraméterek sorrendje attól függ, hogy miként adják át őket a jellemző fájlból. Kérjük, olvassa el a következő oktatóanyagot a projekt beállításához, valamint a jellemző fájlok és a Java osztályok leképezéséhez.
Példa:
Az alábbiakban bemutatjuk, hogyan lehet a funkció fájlokat megvalósítani.
Ebben a példában nem használtunk szelén API-t. Ez csak annak bemutatására szolgál, hogy az uborka hogyan működik önálló keretként. Kérjük, kövesse a következő útmutatót az uborka szelénintegrációjához.
Amikor végrehajtja az uborkafutó osztályt, az uborka elkezdi olvasni a funkciófájl lépéseit. Például a @smokeTest végrehajtásakor az uborka beolvassa a Feature step és a megadott forgatókönyv-állítást. Amint az uborka megtalálja A megadott utasítást, ugyanaz a Given utasítás keresi meg a java fájljait. Ha ugyanaz a lépés található a java fájlban, akkor az uborka végrehajtja az ugyanazon lépéshez megadott funkciót, különben az uborka kihagyja a lépést.
Következtetés
Ebben az oktatóanyagban a uborka eszköz és annak használata valós idejű forgatókönyvben.
Az uborka a legkedveltebb eszköz sok projekt számára, mivel könnyen érthető, olvasható és üzleti funkciókat tartalmaz.
A következő fejezetben kitérünk hogyan lehet beállítani egy uborka – java projektet, és hogyan kell integrálni a Selenium WebDriver programot az uborkával.
Utolsó frissítés: 2021. január 18. 6:40