A Flash/Flex Alkalmazások tesztelésének automatizálása
a Flash/Flex alkalmazások tesztelésének igénye az elmúlt években sokkal jelentősebbé vált. Ez a technológia szélesebb körű használatát jelzi, ami viszont szemlélteti ezen alkalmazások automatizált tesztelésének szükségességét. Ez az igény azonban felvet néhány kérdést és problémát, amelyek közül néhányat a következő cikkben tárgyalunk.
pontosabban, az első kérdés, amelyet meg kell válaszolni a Flash/Flex alkalmazás automatizálásával kapcsolatban: melyik a megfelelő automatizálási technika? Két különböző módon lehet menni:
natív egér & billentyűzet integráció – jó olyan helyzetekben, ahol minimális Flash interakció szükséges.
API-szintű integráció – jó olyan helyzetekben, ahol sok Flash interakció szükséges.
natív egér & billentyűzet integráció – Ez az, ahol az egér mozgását, az egérkattintást vagy a billentyűzet műveletét szimulálják az operációs rendszer szintjén. Ez reprodukálja a legrealisztikusabb felhasználói szimuláció rögzítésével GUI-alapú intézkedések, egyre minket nagyon közel a” valós életben ” használata a kérelmet. Ennek a módszernek a használata azonban problémákat okoz. Például egy Flash alkalmazás tesztelése megköveteli, hogy az alkalmazást és a tesztelési környezetet speciális módon készítsék el. A Flash alkalmazás tesztelhetővé tételének különböző módjai vannak, a használt tesztelő eszköztől és a fejlesztői környezettől függően. Néhány eszköz, például a TestComplete, a Rational Robot és a QTP megköveteli, hogy egy dedikált könyvtárat (amelyet általában az eszköz szállítója szállít) ágyazzanak be a Flash alkalmazásba a fordítás vagy a Futtatás ideje alatt. Ennek a folyamatnak a sajátosságai általában megtalálhatók ezen eszközök dokumentációjában.
az objektumok rögzítése Flex/Flash alkalmazásban önmagában problematikus. Ennek megoldására két fő megközelítés létezik:
- rögzítse a kijelzőt az eszközről, és képfelismeréssel keresse meg a kívánt elemeket a képernyőn, automatizálva az alkalmazást fekete dobozban. A padlizsán jó példa egy olyan eszközre, amely ezt a megközelítést alkalmazza. Így működik a Silkperformer Citrix környezetben is.
- elemezze a használt objektumokat tulajdonságokba, és használja ezeket a tulajdonságokat az objektum megkereséséhez. Ez ugyanaz a megközelítés, hogy használják a QTP objektum tárolók. Az olyan tipikus Flash-objektumtulajdonságok, mint az állapot, a név és a szöveg, mind az objektumok megkeresésére, mind annak ellenőrzésére szolgálnak, hogy bizonyos műveletek megtörténtek-e. A racionális Robot jó példa erre a megközelítésre; 11 különböző ellenőrzési pontot használ annak ellenőrzésére, hogy egy bizonyos művelet megtörtént-e, vagy ellenőrzi az objektum állapotát. Ez a megközelítés tökéletes azok számára, akik viszonylag egyszerű GUI interakciókat akarnak szimulálni, például rákattintanak egy film “Lejátszás” gombjára vagy interakcióba lépnek egy megerősítő párbeszédpanellel, mivel egy bonyolultabb alkalmazásnál ez a megközelítés általában kudarcot vall.
API-szintű integráció – az alkalmazások, amelyek sokkal összetettebb Flash/Flex felhasználói felületek vagy alkalmazások, amelyek 100% Flash-alapú, nehéz használni GUI elfog bemutatott, mivel lehet törékeny, és nehéz megerősíteni, hogy a kívánt funkciót működött. Ehhez használhatja az API szintű integrációt. Az ilyen típusú automatizáláshoz képesnek kell lennie az alapul szolgáló Flash objektum(ok) újrafordítására/módosítására.
az innen való továbblépés attól függ, hogy Flash-t vagy Flex-et használ-e, mivel a Flex kitesz néhány automatizálási API-t, amelyeket egyébként meg kell reprodukálni, ha tiszta Flash-t használ. Ehhez lehet: