Automatizace testů na aplikacích Flash / Flex
poptávka po testování aplikací Flash / Flex se v posledních několika letech stala mnohem významnější. To naznačuje rozšíření využití této technologie, což zase ilustruje potřebu automatizovaného testování těchto aplikací. Tato potřeba však vyvolává několik otázek a problémů, z nichž některé budou popsány v následujícím článku.
konkrétně je třeba odpovědět na první otázku týkající se automatizace aplikace Flash / Flex: jaká je správná automatizační technika? Existují dva odlišné způsoby, jak jít:
nativní myš & integrace klávesnice-dobré pro situace, kdy je vyžadována minimální interakce blesku.
integrace na úrovni API-dobré pro situace, kdy je vyžadována velká interakce s bleskem.
nativní myš & integrace klávesnice – Zde se simuluje pohyb myši, kliknutí myší nebo akce klávesnice na úrovni operačního systému. Reprodukuje nejrealističtější uživatelskou simulaci zaznamenáváním akcí založených na GUI, což nás velmi přibližuje používání naší aplikace „v reálném životě“. Použití této metody má však určité problémy. Například testování aplikace Flash vyžaduje, aby byla aplikace a testovací prostředí připraveny zvláštním způsobem. Existují různé způsoby, jak otestovat aplikaci Flash v závislosti na použitém testovacím nástroji a vývojovém prostředí. Některé nástroje, jako je TestComplete, Rational Robot a QTP vyžadují, aby vyhrazená knihovna (obvykle dodávaná dodavatelem nástroje) byla vložena do aplikace Flash během kompilace nebo za běhu. Specifika tohoto procesu lze obvykle nalézt v dokumentaci těchto nástrojů.
zachycení objektů v aplikaci Flex / Flash je samo o sobě problematické. K vyřešení tohoto problému existují dva hlavní přístupy:
- Zachyťte displej ze zařízení a pomocí rozpoznávání obrazu vyhledejte požadované prvky na obrazovce a automatizujte aplikaci způsobem black-box. Lilek je dobrým příkladem nástroje, který využívá tento přístup. To je také, Jak SilkPerformer pracuje v prostředí Citrix.
- analyzujte použité objekty do vlastností a pomocí těchto vlastností vyhledejte objekt. Jedná se o stejný přístup, který se používá v repozitářích objektů QTP. Typické vlastnosti objektu Flash, jako je stav, název a text, se používají jak k vyhledání objektů, tak k ověření, že došlo k určitým akcím. Rational Robot je dobrým příkladem tohoto přístupu; používá 11 různých ověřovacích bodů k ověření, že došlo k určité akci, nebo k ověření stavu objektu. Tento přístup je ideální pro ty, kteří chtějí simulovat relativně jednoduché interakce GUI, jako je kliknutí na tlačítko „Přehrát“ filmu nebo interakce s potvrzovacím dialogem, protože u složitější aplikace má tento přístup tendenci selhat.
integrace na úrovni API-pro aplikace, které mají mnohem složitější uživatelské rozhraní Flash/Flex nebo aplikace, které jsou 100% Flash založené, je těžké použít GUI zachycení, jak je uvedeno, protože může být křehké a obtížné potvrdit, že požadovaná funkce fungovala. K tomu lze použít integraci na úrovni API. Chcete-li tento typ automatizace jeden musí být schopen překompilovat / upravit podkladové Flash objekt(y).
jak budete postupovat odtud závisí na tom, zda používáte Flash nebo Flex, protože Flex vystavuje některé automatizační API, které budou jinak muset být reprodukovány, pokud používáte čistý Flash. K tomu je možné: