Testování Android aplikací

Appium nebo Maestro: jak vybrat nástroj pro mobilní testy

Appium i Maestro jsou open-source nástroje pro automatizované testování mobilních aplikací. Oba mohou být dobrou volbou, ale k práci s testy přistupují odlišně. Rozhodnutí proto nemá vycházet z oblíbenosti nástroje, ale z vašich scénářů, zařízení, technologie aplikace a lidí, kteří budou sadu udržovat.

Jak se projeví nevhodná volba

Špatná volba obvykle není viditelná v prvním jednoduchém testu. Problémy se ukážou u systémového dialogu, hybridní obrazovky, přípravy dat nebo při běhu na více zařízeních. Tým začne přidávat náhradní řešení, pevná čekání a duplicitní kroky. Po čase trvá diagnostika déle než samotné ruční ověření.

Nástroj však není jedinou příčinou nestability. Stejně důležité jsou jednoznačné identifikátory prvků, kontrolovaný stav testovacího účtu, dostupnost backendu a srozumitelná struktura sady.

Kdy zvážit Appium

Appium používá standard WebDriver a funguje jako rozšiřitelný ekosystém ovladačů. Pro Android se běžně používá oficiální ovladač UiAutomator2, který podporuje nativní, hybridní i mobilní webové aplikace. Testy lze psát například v JavaScriptu, Pythonu, Javě nebo C# a spouštět na emulátoru i připojeném fyzickém zařízení.

Appium dává smysl zejména tehdy, když:

Tato flexibilita přináší také více nastavení. Je třeba spravovat Appium server, příslušný ovladač, klientskou knihovnu a verze jejich závislostí.

Kdy zvážit Maestro

Maestro zapisuje uživatelské cesty deklarativně ve formátu YAML. Scénář se podobá stručnému seznamu kroků a dokáže ho číst i člověk, který denně neprogramuje. Lokálně umí pracovat s Android emulátory i připojenými fyzickými zařízeními; Maestro Cloud poskytuje spravované paralelní spouštění.

Maestro dává smysl zejména tehdy, když:

YAML lze doplnit podmínkami a skripty, u velmi složité logiky je však třeba porovnat jeho čitelnost s klasickým programovacím jazykem.

Jak se rozhodnout v praxi

U obou kandidátů ověříme stejný pilot: spuštění aplikace v čistém stavu, přihlášení, práci s jedním systémovým prvkem a kontrolu výsledku. Pilot spustíme opakovaně na zařízeních, která tým plánuje používat. Porovnáváme:

  1. dostupnost a stabilitu lokátorů;
  2. množství potřebného vlastního kódu;
  3. čas a kvalitu diagnostiky po selhání;
  4. možnosti lokálního běhu a běhu v CI;
  5. srozumitelnost pro budoucí správce sady.

V Appiu lze obrazovky zapouzdřit do objektů nebo komponent; v Maestru plní stejný účel sdílené podscénáře. Není třeba vnucovat oběma nástrojům stejný návrhový vzor.

Appium i open-source část Maestra používají licenci Apache 2.0. Komerční cloudové služby, zařízení a podpora se posuzují samostatně.

Co tím získáte

Pilot sníží riziko, že omezení odhalíte až po vytvoření velké sady. Výsledný nástroj bude odpovídat skutečným scénářům i schopnostem týmu, takže údržba nebude záviset pouze na autorovi prvních testů.

Open-source základ zároveň ponechá scénáře a jejich historii ve vašem repozitáři. Infrastrukturu nebo cloud můžete měnit podle potřeb projektu, pokud zvolený způsob běhu zůstane kompatibilní.

Další krok

Vyberte jeden kritický a jeden technicky náročný scénář. Spusťte je v malém srovnávacím pilotu a zaznamenejte čas implementace, stabilitu i kvalitu diagnostiky. Nástroj vyberte až podle těchto výsledků, nikoli podle nejjednodušší ukázky.

Související témata

Mohlo by vás také zajímat

Rozhodující scénáře ověříme na reálných zařízeních

Testy nativních i hybridních Android aplikací s rozhodujícími běhy na fyzických nebo cloudových zařízeních.