Web alkalmazások tesztelése szelén rc-vel

Az egység tesztelési infrastruktúrája, például a JUnit lehetővé teszi a kiszolgálói oldalon futó kód tesztelését. Egy tipikus webes alkalmazásban azonban a kiszolgálóoldali kód csak kis része a teljes alkalmazáskódnak. Ilyen alkalmazásokban sok olyan kód létezik, amely csak a böngészővel együttműködő eszközzel tesztelhető.

Ebben a cikkben ismerkedhet meg a Selenium eszközzel, amellyel létrehozhat és automatizálhatja a webes alkalmazások tesztjeit. Meg fogja tanulni, hogyan lehet gyorsan létrehozni vizsgálati eseteket, kiterjeszteni őket, és hogyan kell használni a Selenium távirányítót, hogy automatikusan tesztekként fussanak.

Ismerje meg a Selenium RC-t

A Selenium RC a Selenium projektben elérhető eszközkészlet része. Ezzel automatikusan elvégezheti a létrehozott teszteket. A Selenium RC számos operációs rendszeren és különböző böngészőkön fut, beleértve a Windows® Internet Explorer®-t, a Mozilla Firefox-ot és az Opera-t.

A Selenium RC használatával a teszteket annyiszor végezheti, amennyit csak akar. Ezenkívül ez az eszköz lehetővé teszi, hogy bonyolultabb teszteket hozzon létre, mint a Selenium IDE-ben. A tesztek során hozzáadhatja a feltételt, és újrapróbálhatja az utasításokat, amelyeket akkor használhat, ha meghatározott adatkészletekkel próbákat kíván futtatni. A várt kivételekkel is kezelheti az egység teszt infrastruktúrájában rendelkezésre álló struktúrákat, például a JUnit-et.

Töltse le és telepítse a Selenium RC-t

A Selenium RC használatához le kell töltenie és telepítenie kell. A szelén szerver egy közös JAR-fájl, amely lehet tenni a futás (JRE vagy a Java ™ Runtime Environment) .Zagruzit JAR-fájlt, és más szükséges fájlokat lehet SeleniumHQ helyszínen (lásd. Link forrásokat).

A letöltés végén vegye ki a Selenium RC archívumot, és helyezze azt valahol a fájlrendszerre. Most elindíthatja a Selenium kiszolgálót a következő parancs futtatásával:

Minta alkalmazás teszteléshez

Listázás 1. Az index.jsp oldal
Listázás 2. Az enterInfo.jsp oldal

Az első tesztet írjuk

Az automatikus tesztek létrehozásának alapjául szolgáló kezdeti tesztek gyors írásához használhatja a Selenium IDE környezetet. A Selenium IDE környezet olyan Firefox bővítő modul, amely lehetővé teszi a tesztek rögzítését. Felvétel után a tesztek exportálhatók, így a feltételek, ismétlések stb.

A Selenium IDE használatának megkezdéséhez töltsd le a hivatkozásról az Erőforrások részben. Kattints a linkre, és telepítsd a Selenium IDE-t Firefox kiterjesztés modulként. A Firefox megkéri, hogy telepítse a bővítőmodult, majd újra be kell indítania a böngészőt, hogy a módosítások érvénybe lépjenek.

A bővítőmodul telepítése után indítsa el a kiszolgálót, miután elkezdheti dolgozni a webes alkalmazással. A Selenium IDE megnyitásához kattintson a Firefox Tools> Selenium IDE elemre. A Selenium IDE megnyitásakor kattintson a Record gombra. A Selenium IDE elkezdi a felvételt: emlékezni fog minden, a böngészőben végrehajtott műveletre. A tesztalkalmazás megadásához kövesse az alábbi lépéseket:

  1. Engedélyezze a bejegyzést a Selenium IDE-ba és lépjen az index.jsp oldalra.
  2. Adja meg a felhasználónevet.
  3. Írja be a helyes jelszót a Jelszó mezőbe.
  4. Kattintson a Bejelentkezés gombra.

Miután sikeresen bejelentkezett a webes alkalmazásba, megnyílik az enterInfo.jsp oldal. A teszt ezen pontján már vannak lépések, de még mindig nincsenek ellenőrzések arról, hogy sikeresen végrehajtják őket. A Selenium környezetnek tudnia kell, hogy mire van szüksége, hogy megnézze, hogy az enterInfo.jsp oldal megjelenik-e a várt módon.

Hozzáadhat tesztelési lépéseket annak biztosításához, hogy az alkalmazás megjelenítse a megfelelő tartalmat. Ne kapcsolja ki a felvételt Seleniumban, kövesse az alábbi lépéseket:

  1. Kattintson a jobb gombbal bármely HTML elemre, például a nevére és kattintson a verifyTextPresent Az Ön neve:.
  2. Ismételje meg az 1. lépést "A születési dátumának".
  3. Kattintson a Record gombra. a felvétel leállítása.

Ha a tesztet akcióban szeretné látni, kattintson a Futtatás minden elemre (lásd: 1. ábra). A teszt sikeresen elindul és befejeződik.

1. ábra Kattintson a Minden futtatása lehetőségre

Annak ellenőrzésére, hogy a Selenium IDE valóban teszteli-e alkalmazásunkat, nyissa meg az IDE-t, és módosítsa a felhasználói név értékét a kódban. Indítsa újra az alkalmazást, és kattintson ismét a Futtatás mindegyikre. Ezúttal a teszt nem fog működni, mert a webes alkalmazás nem jeleníti meg az enterInfo.jsp oldalt a helyes feliratokkal.

A tesztet a JUnitben exportáljuk

Elvégeztük az első tesztünket, és most exportálhatjuk a JUnitbe. Válassza ki a tesztet a Selenium IDE-ben, kattintson a Fájl> Export teszt eset, mint> Java (JUnit) - Selenium RC parancsra. Adja meg a teszt nevét (például IndexTests.java), és mentse el, hogy importálhassa az Eclipse alkalmazást.

Végezze el a következő lépéseket:

  1. Hozzon létre egy új Java-projektet, amely a JUnit programmal létrehozott Java-teszteket tartalmazza.
  2. Töltse le a Selenium RC futtatható fájlokat (lásd a linket a Resources részben). Mentse az archív fájlt valahol, ahonnan tartalmát importálhatja az új Java-projektbe az Eclipse-ben.
  3. Hozzon létre egy új lib könyvtárat a Java projektben.
  4. Kattintson a Fájl> Importálás elemre. majd a listából válassza ki a File System elemet. Kattintson a Tovább gombra.
  5. Menjen arra a könyvtárba, ahol kivette a Selenium RC fájlokat, és válassza ki a selenium-java-client-driver-1.0.1 könyvtárat.
  6. Jelölje ki a listából a selenium-java-client-driver.jar parancsot, majd kattintson az OK gombra. JAR fájl importálása a Selenium kliens illesztőprogrammal a Java-hoz a projekt lib könyvtárába.
  7. Importálja a Selenium IDE-ból exportált Java tesztfájlt az új Java-projekt src könyvtárába.

Az első dolog, amit látni fogsz, sok összeállítási hiba. Először is, az új Java-fájl nem feltétlenül a megfelelő csomagban van, mivel most közvetlenül az src könyvtárban található. Másodszor, lehetetlen megtalálni a JUnit vagy Selenium osztályokat. Szerencsére ezek a hibák könnyen megoldhatók az Eclipse-szel.

Hibák megoldása az Eclipse-ben

A hibával kapcsolatos hiba kijavításához válassza ki a hibát, és nyomja meg a Ctrl-1 billentyűt. megnyitni a tanácsokat. Válassza az Áthelyezés a MyTest.java elemet a "com.example.mywebapp.tests" csomagba. Az Eclipse hozzon létre egy csomagot, és helyezzen el egy fájlt.

Add hozzá a JUnit tesztet

Add hozzá a Selenium és JUnit teszteket. Ehhez válassza ki a Java-projektünket a Csomagböngészőben, majd kattintson a Építési út> Konfigurálja a szerkesztési útvonalat. A Könyvtárak lapon kattintson a JAR hozzáadása elemre, és válassza ki a selenium-java-client-driver.jar fájlt. Kattintson az OK gombra.

Amikor a forrást tartalmazó Java fájlok össze vannak állítva, a tesztnek a 3. listában szereplőnek kell lennie.

Listázás 3. Egy JUnit teszt a Selenium IDE-ból exportált kód alapján

Ha nem tudja letölteni és telepíteni a Selenium IDE-t a Firefox használatát korlátozó korlátozások miatt, akkor is írhat teszteket, amelyeket a Selenium RC segítségével futtathat. Csak az itt bemutatott példákat használjuk kiindulási pontként, és tekintse meg a Resources című részben felsorolt ​​Selenium dokumentációkat.

Tekintse át a teszt eredményeit

Már írtuk az első vizsgálati esetet, most nézzük meg működés közben. Futtassa a Selenium kiszolgálót, és futtassa a tesztet szabványos JUnit egység tesztként. Indítsa el a Selenium kiszolgálót a következő parancs futtatásával:

Futtassa a kiszolgálót az IDE-ból

A legteljesebb integrációhoz konfigurálhatja a Selenium kiszolgáló indítását közvetlenül az Eclipse-ből. Kattintson a Futtatás> Külső eszközök> Külső eszközkonfigurációk parancsra, és írja be a parancsot a külső eszközbeállításokban a kiszolgáló indításához.

A Selenium kiszolgáló futtatása után futtathatja az egység tesztjét a jobb egérgombbal az IndexTest.java fájlra, és válassza a Futtatás> JUnit teszt parancsot. Annak érdekében, hogy a Selenium kiszolgáló indítson egy böngésző példányát, és futtassa a teszteket, időbe telhet. A vizsgálat végén az Eclipse-ben ugyanazt a kimenetet fogja látni, mint a hagyományos egységvizsgálatoknál.

Nézzünk mélyebben

Egy egyszerű tesztet készítettünk a Selenium IDE-vel, és exportáltuk egy Java-fájlba, és most egy összetettebb tesztet hozzunk létre, amely ellenőrzi az enterInfo.jsp oldal funkcióit. Ilyen teszt például a 4. listán.

Listing 4. JUnit teszt az enterInfo.jsp ellenőrzéséhez

A testBadDate () metódus arra szolgál, hogy helytelen adatokat adjon meg a születési dátum mezőben, és küldje el az űrlapot. Ellenőrzi, hogy amikor helytelen dátumot ad meg, megfelelő hibaüzenetet kap. A testValidDate () módszer ellenőrzi, hogy érvényes dátum megadása esetén megjelenik egy üzenet a felhasználó korhatárával.

A tesztek automatizálása

Most, hogy képesek vagyunk az Eclipse tesztjeinek futtatására, teljes mértékben automatizáljuk a tesztek végrehajtását az Apache Ant szkript segítségével, több célra. Az Ant parancsfájl segítségével ezeket a teszteket olyan eszközökkel hajthatja végre, mint a Hudson vagy a CruiseControl (lásd Resources).

A tesztek végrehajtásának automatizálásához használhatja az Ant szkriptet, amely a JUnit célokat használja a Selenium RC tesztek futtatásához. A szkript az 5. listában látható.

Listázás 5. Ant szkript a Selenium tesztek futtatásához

Végezzen teszteket más böngészőkben

Míg példánkban a teszteket a Firefox böngészőben végeztük. Néha azonban meg kell vizsgálnia egy webalkalmazást más böngészőkben, hogy megbizonyosodjon róla, hogy megfelelően működik a különböző böngészőkben.

Lehet, hogy észrevette, hogy a JUnit teszt setUp () módszerének tesztelésekor a setUp () szülő metódus elhalad a második paraméteren * firefox Ez a paraméter elindítja a Firefox böngésző példányát.

A teszt másik böngészőben történő futtatásához egyszerűen adja át a böngésző nevét a második argumentumban. Például az Internet Explorer böngésző indításához használja az * iexplore értéket. Az Opera és az Apple Safari böngészők az operát és a szafarit használják.

Ne feledje, hogy a kiválasztott böngészőnek támogatnia kell az operációs rendszert, amelyen a teszteket futtatja. Ha az operációs rendszerben nem szereplő böngészőben próbál teszteket futtatni, például a * safari vagy a * iexplore programon a Linux® rendszeren, kivételt fognak adni, és a tesztek nem fognak továbbadni.

következtetés

Ebben a cikkben ismerkedtünk meg a Selenium eszközzel és annak két összetevőjével: Selenium IDE és Selenium RC. A Selenium IDE segítségével könnyedén tesztelheti a webes alkalmazások tesztjeit. A Selenium RC komponens segítségével automatizálhatja a teszteket és hozzáadhat új funkciókat.

A webes alkalmazás böngészővel történő automatikus tesztelése kiválóan kiegészíti a meglévő moduláris teszteket, amelyek lefedi az alkalmazás többi részét. Az automatikus tesztelés gyorsítja a regressziós tesztelést, és lehetővé teszi a fejlesztőknek, hogy gyorsan megismerjék a problémákat.

Források letöltése

Kapcsolódó témák