Hogyan kell használni Selenium IDE szkriptekkel és parancsokkal (Assert, Verify)

Használjuk a Mercury A Tours webhely, mint tesztelés alatt álló webes alkalmazásunk. Ez egy online repülőjegy-foglalási rendszer, amely tartalmazza az oktatóanyaghoz szükséges összes elemet. Az URL-je az https://demo.guru99.com/test/newtours/, és ez lesz az alap URL-ünk.

Most készítsük el az első tesztszkriptünket Selenium IDE a leggyakoribb módszerrel – rögzítéssel. Ezt követően a lejátszási funkció segítségével végrehajtjuk a szkriptünket.

Készítsen szkriptet rögzítéssel

1 lépés

  • Indít Firefox és a Selenium SDI.
  • Írja be az alap URL értékét: https://demo.guru99.com/test/newtours/.
  • Toggle a Felvétel gomb be van kapcsolva (ha még nincs alapértelmezés szerint bekapcsolva).

Készítsen szkriptet rögzítéssel

2 lépés

In Firefox, navigáljon https://demo.guru99.com/test/newtours/. Firefox az alábbihoz hasonló oldalra kell vinnie.

Készítsen szkriptet rögzítéssel

3 lépés

  • Kattintson a jobb gombbal az oldalon belüli bármely üres helyre, például a Mercury Tours logó a bal felső sarokban. Ez felhozza a Selenium IDE helyi menü. Megjegyzés: Ne kattintson semmilyen hiperhivatkozással ellátott objektumra vagy képre
  • Válassza az „Elérhető parancsok megjelenítése” lehetőséget.
  • Ezután válassza ki az „assertTitle pontos: Üdvözöljük: Mercury Túrák.” Ez egy olyan parancs, amely biztosítja, hogy az oldal címe helyes legyen.

Készítsen szkriptet rögzítéssel

Készítsen szkriptet rögzítéssel

4 lépés

  • A „Felhasználónév” szövegmezőjében Mercury Tours, írjon be egy érvénytelen felhasználónevet, „invalidUNN”.
  • A „Jelszó” szövegmezőbe írjon be egy érvénytelen jelszót, „invalidPWD”.

Készítsen szkriptet rögzítéssel

Készítsen szkriptet rögzítéssel
5 lépés

  • Kattintson a „Bejelentkezés” gombra. Firefox erre az oldalra kell vinnie.

Készítsen szkriptet rögzítéssel

6 lépés

Toggle a felvétel gombot kikapcsolva a felvétel leállításához. A szkriptnek most úgy kell kinéznie, mint az alábbiakban.

Készítsen szkriptet rögzítéssel

7 lépés

Most, hogy elkészültünk a tesztszkriptünkkel, elmentjük egy tesztesetben. A Fájl menüben válassza a „Teszteset mentése” lehetőséget. Másik megoldásként egyszerűen megnyomhatja a Ctrl+S billentyűkombinációt.

Készítsen szkriptet rögzítéssel

8 lépés

  • Válassza ki a kívánt helyet, majd nevezze el Teszt eset mint „Invalid_login”.
  • Kattintson a „Mentés” gombra.

Készítsen szkriptet rögzítéssel

9 lépés

Figyelje meg, hogy a fájl HTML-ként lett elmentve.

Készítsen szkriptet rögzítéssel

Step 10) Menj vissza Selenium IDE, és kattintson a Lejátszás gombra a teljes szkript végrehajtásához. Selenium Az IDE-nek képesnek kell lennie mindent hibátlanul reprodukálni.

Készítsen szkriptet rögzítéssel

Bevezetés a Selenium Parancsok – Selenese

  • A szelén parancsoknak legfeljebb két paramétere lehet: cél és érték.
  • A paraméterek nem mindig szükségesek. Attól függ, hányra lesz szüksége a parancsnak.

A parancsok típusai

Hozzászólások Ezek olyan parancsok, amelyek közvetlenül kölcsönhatásba lépnek az oldal elemeivel.

Példa: a „kattintás” parancs egy művelet, mert Ön közvetlenül lép kapcsolatba azzal az elemmel, amelyre kattint.

A „type” parancs is egy művelet, mivel értékeket ír be egy szövegdobozba, és a szövegmező cserébe megjeleníti azokat. Kétirányú interakció van közted és a szövegdoboz között.

Kiegészítők Ezek olyan parancsok, amelyek lehetővé teszik, hogy értékeket tároljon egy változóban.

Példa: a „storeTitle” parancs egy accessor, mert csak az oldal címét „olvassa”, és változóba menti. Nem lép kölcsönhatásba az oldal egyetlen elemével sem.

Állítások Ezek olyan parancsok, amelyek ellenőrzik, hogy egy bizonyos feltétel teljesül-e.

3 Az állítások típusai

  • assert. Ha egy „assert” parancs meghiúsul, a teszt azonnal leáll.
  • Ellenőrzése. Ha egy „ellenőrzés” parancs sikertelen, Selenium Az IDE naplózza ezt a hibát, és folytatja a tesztvégrehajtást.
  • Várni rá. Mielőtt továbblépne a következő parancsra, a „waitFor” parancsok először megvárják, amíg egy bizonyos feltétel igazzá válik.
    • Ha a feltétel a várakozási időn belül igazzá válik, a lépés elhalad.
    • Ha a feltétel nem válik valóra, a lépés meghiúsul. A hiba naplózásra kerül, és a teszt végrehajtása a következő parancsra lép.
    • Alapértelmezés szerint az időtúllépési érték 30 másodperc. Ezt módosíthatja a Selenium IDE beállítások párbeszédpanel az Általános lapon.

Assert vs. Verify in Selenium

Assert vs. Verify in Selenium

Assert vs. Verify in Selenium

Közös parancsok

parancs Paraméterek száma Description
nyitva 0 - 2 Megnyit egy oldalt egy URL használatával.
kattintson/kattintson és várjon 1 Egy adott elemre kattint.
type/typeKeys 2 Beír egy karaktersorozatot.
verifyTitle/assertTitle 1 Összehasonlítja a tényleges oldalcímet a várható értékkel.
verifyTextPresent 1 Ellenőrzi, hogy egy bizonyos szöveg található-e az oldalon.
verifyElementPresent 1 Ellenőrzi egy bizonyos elem jelenlétét.
verifyTable 2 Összehasonlítja egy táblázat tartalmát a várt értékekkel.
waitForPageToLoad 1 Megállítja a végrehajtást, amíg az oldal teljesen be nem töltődik.
waitForElementPresent 1 Megállítja a végrehajtást, amíg a megadott elem jelen nem lesz.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Most újra létrehozzuk ugyanazt a tesztesetet manuálisan, a parancsok beírásával. Ezúttal Firebug-ot kell használnunk.

1 lépés

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Lépés 2: Kattintson a szerkesztőben a legfelső üres sorra.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Írja be az „open” szót a Parancs szövegmezőbe, és nyomja meg az Enter billentyűt.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

3 lépés

  • Keresse Firefox az alap URL-hez, és aktiválja a Firebug-ot
  • A Selenium Az IDE-szerkesztő panelen válassza ki a második sort (az „open” parancs alatti sort), és hozza létre a második parancsot az „assertTitle” parancs beírásával a Parancsmezőbe.
  • Nyugodtan használja az automatikus kiegészítés funkciót.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

4 lépés

  • A Firebugban bontsa ki a címkét a megjelenítéséhez címke.
  • Kattintson az értékére címke (amely a következő: „Üdvözöljük: Mercury Tours”), és illessze be a Target mezőben a Szerkesztőben.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

5 lépés

  • A harmadik parancs létrehozásához kattintson a harmadik üres sorra a Szerkesztőben, és írja be a „type” szöveget a Parancs szövegmezőbe.
  • A Firebugban kattintson az „Ellenőrzés” gombra.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Kattintson a Felhasználónév szövegmezőre. Figyelje meg, hogy a Firebug automatikusan megjeleníti az adott elem HTML-kódját.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

6 lépés Figyelje meg, hogy a Felhasználónév szövegmezőnek nincs azonosítója, de van NAME attribútuma. Ezért a NAME nevét használjuk helymeghatározóként. Másolja ki a NAME értéket, és illessze be a Target mező be Selenium SDI.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Még a Target szövegdoboz, a „felhasználónév” előtagja a „name=”, jelezve ezt Selenium Az IDE-nek olyan elemet kell megcéloznia, amelynek NAME attribútuma „felhasználónév”.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Írja be az „invalidUN” értéket az Érték szövegmezőjébe Selenium IDE. A tesztszkriptnek most úgy kell kinéznie, mint az alábbi képen. A harmadik paranccsal végeztünk. Megjegyzés: Az érvénytelenUN helyett bármilyen más szöveget is megadhat. De Selenium Az IDE megkülönbözteti a kis- és nagybetűket, és pontosan úgy írja be az értékeket/attribútumokat, mint az alkalmazásban.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

7 lépés

  • A negyedik parancs létrehozásához írja be a „type” parancsot a Parancs szövegmezőbe.
  • Ismét használja a Firebug „Inspect” gombját a „Jelszó” szövegmező helymeghatározójának lekéréséhez.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

  • Illessze be a NAME attribútumot („jelszó”) a Target mezőbe, és előtagként „name=”
  • Írja be az „invalidPW” értéket az Érték mezőbe Selenium IDE. A tesztszkriptnek most úgy kell kinéznie, mint az alábbi képen.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

8 lépés

  • Az ötödik parancshoz írja be a „clickAndWait” parancsot a Command szövegmezőbe Selenium SDI.
  • Használja a Firebug „Inspect” gombját a „Bejelentkezés” gomb helymeghatározójának lekéréséhez.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

  • Illessze be a NAME attribútum értékét („login”) a Target szövegmezőbe, és előtagként „name=”.
  • A tesztszkriptnek most úgy kell kinéznie, mint az alábbi képen.

Hozzon létre egy szkriptet manuálisan a Firebug segítségével

Lépés 9: Mentse el a tesztesetet ugyanúgy, mint az előző részben.

A Keresés gomb használata

A Keresés gomb be Selenium Az IDE annak ellenőrzésére szolgál, hogy mit tettünk-e be a Target szövegdoboz valóban a megfelelő UI elem.

Használjuk az Invalid_login tesztesetet, amelyet az előző szakaszokban készítettünk. Kattintson bármelyik parancsra a-val Target belépés, mondjuk, a harmadik parancs.

A Keresés gomb használata

Kattintson a Keresés gombra. Figyelje meg, hogy a Felhasználónév szövegmező a Mercury A körutazások oldal egy pillanatra kiemelésre kerül.

A Keresés gomb használata

Ez arra utal Selenium Az IDE képes volt felismerni és megfelelően elérni a várt elemet. Ha a Keresés gomb egy másik elemet emelt ki, vagy egyáltalán nem, akkor valami nem stimmel a szkripttel.

Parancs végrehajtása

Ez lehetővé teszi egyetlen parancs végrehajtását a teljes teszteset futtatása nélkül. Csak kattintson a végrehajtani kívánt sorra, majd kattintson a menüsor „Műveletek > Végrehajtása” lehetőségre, vagy egyszerűen nyomja meg az „X” gombot a billentyűzeten.

Step 1) Győződjön meg arról, hogy böngészője a Mercury A túrák honlapja. Kattintson a végrehajtani kívánt parancsra. Ebben a példában kattintson a „type | felhasználónév | érvénytelenUN” sor.

Parancs végrehajtása

Step 2) Nyomja meg az „X” gombot a billentyűzeten.

Step 3) Figyelje meg, hogy a felhasználónév szövegmezője az „invalidUN” szöveggel lesz feltöltve.

Parancs végrehajtása

A parancsok ilyen módon történő végrehajtása nagymértékben függ az oldaltól Firefox jelenleg látható. Ez azt jelenti, hogy ha megpróbálja a fenti példát a Google kezdőlapja helyett Mercury Tours”, akkor a lépése sikertelen lesz, mert a Google kezdőlapján nincs „userName” attribútumot tartalmazó szövegmező.

Kezdőpont

A kezdőpont egy jelző, amely megmondja Selenium Az IDE, amelyen a végrehajtás elindul. Gyorsbillentyűje „S”.

Kezdőpont

A fenti példában a lejátszás a harmadik sorban kezdődik (írja be a | jelszót | érvénytelenPW). Egy tesztszkriptben csak egy kezdőpont lehet.

A kezdőpont hasonló az Execute Command parancshoz, mivel az aktuálisan megjelenített oldaltól függ. A kezdőpont sikertelen lesz, ha rossz oldalon van.

Töréspontok

A töréspontok olyan mutatók, amelyek megmondják Selenium IDE, ahol automatikusan szüneteltetheti a tesztet. A gyorsbillentyű a „B”.

Töréspontok

A sárga kiemelés azt jelenti, hogy az aktuális lépés függőben van. Ez azt bizonyítja Selenium Az IDE leállította a végrehajtást ennél a lépésnél. Egy tesztesetben több töréspont is lehet.

Lépés

Lehetővé teszi a következő parancsok egyenkénti végrehajtását a teszteset szüneteltetése után. Használjuk az előző szakaszban szereplő forgatókönyvet, „Törtéspontok”.

Lépés

Mielőtt a „Lépés” gombra kattintana.

A teszteset megáll a „clickAndWait |” sornál Belépés".

Lépés Miután a „Lépés” gombra kattintott.

A „clickAndWait | login” sor lefut, és a következő parancshoz szünetel (verifyTitle | Bejelentkezés: Mercury Túrák).

Figyelje meg, hogy a következő sor szünetel, bár ott nincs töréspont. Ez a Lépés funkció fő célja – egyenként hajtja végre a következő parancsokat, hogy több ideje legyen az eredmény ellenőrzésére minden lépés után.

Fontos megjegyzések, ha más formátumokat használ a Forrásnézetben

Fontos megjegyzések, ha más formátumokat használ a Forrásnézetben

Selenium Az IDE csak HTML-lel működik jól – más formátumok még kísérleti módban vannak. Ez NEM tanácsos tesztek létrehozása vagy szerkesztése más formátumok használatával a Forrásnézetben, mert még mindig sok munka szükséges a stabilizáláshoz. Az alábbiakban felsoroljuk az 1.9.1-es verzió ismert hibáit.

  • Ha nem tér vissza a HTML-re, nem tudja végrehajtani a lejátszást, és nem válthat vissza a táblázat nézetre.
  • Az egyetlen módja annak, hogy a parancsokat biztonságosan hozzáadjuk a forráskódhoz, ha rögzítjük őket.
  • Ha manuálisan módosítja a forráskódot, az összes elvész, amikor másik formátumra vált.
  • Bár Forrásnézetben mentheti a tesztesetet, Selenium Az IDE nem tudja megnyitni.

A szelén tesztek konvertálásának javasolt módja a Fájl menü „Teszteset exportálása másként…” opció használata, nem pedig a Forrásnézet.

Összegzésként

  • Tesztszkriptek készíthetők a parancsok és paraméterek rögzítésével vagy manuális beírásával.
  • A szkriptek manuális létrehozásakor a Firebug-ot használják a lokátor lekéréséhez.
  • A Keresés gomb annak ellenőrzésére szolgál, hogy a parancs képes-e elérni a megfelelő elemet.
  • A Table View a tesztszkriptet táblázatos formában, míg a Forrásnézet HTML formátumban jeleníti meg.
  • A Forrásnézet módosítása nem HTML formátumra még kísérleti jellegű.
  • Ne használja a Forrásnézetet más formátumú tesztek létrehozásához. Ehelyett használja az Exportálás funkciót.
  • A paraméterek nem mindig szükségesek. Ez a parancstól függ.
  • Háromféle parancs létezik:
    • Műveletek – közvetlenül kölcsönhatásba lép az oldal elemeivel
    • Accessors – „beolvas” egy elemtulajdonságot, és egy változóban tárolja
    • Állítások – összehasonlít egy tényleges értéket a várt értékkel
  • Az állításoknak három típusa van:
    • Assert – sikertelenség esetén a következő lépések végrehajtása már nem történik meg
    • Ellenőrzés – hiba esetén a következő lépések továbbra is végrehajtásra kerülnek.
    • WaitFor – megfelel, ha a megadott feltétel igazzá válik az időtúllépési időszakon belül; különben megbukik
  • A leggyakoribb parancsok a következők:
    • nyitva
    • kattintson/kattintson és várjon
    • type/typeKeys
    • verifyTitle/assertTitle
    • verifyTextPresent
    • verifyElementPresent
    • verifyTable
    • waitForPageToLoad
    • waitForElementPresent