AutoIt a AutoHotKey - jako vejce vejci
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

Pokud se mluví o automatizaci testování, obvykle každého jako první napadne automatizování samotného provádění testů. Jako druhá věc by nás mohlo napadnout skriptování. Nástroje, které k automatizaci testování slouží, jsou ve valné většině založené na vytváření skriptů, které jsou následně spouštěny. AutoIt a AutoHotKey představují jednu z cest pro automatizaci testů aplikací pracujících pod Windows.

Aby nedošlo k omylu - jde o dva rozdílné programy, které je možné použít při automatizaci. Důvod, proč tu o nich mluvím současně, si osvětlíme za chvíli. Teď si naznačíme, jaké jsou a k čemu vlastně slouží. V obou případech jde o freeware, což je na úvod dobrá zpráva. AutoIt i AutoHotKey představují relativně jednoduché skriptovací nástroje umožňující vytvářet skripty "akcí" v prostředí Windows. Jinak řečeno pomocí těchto skriptů je možné ovládat velkou část aktivních prvků aplikací běžících pod tímto operačním systémem.

Jde skutečně čistě o vytváření a spouštění skriptů. Nejde tedy o primárně testovací nástroj typu QuickTest nebo SilkTest. Tím chci říct, že zde zcela chybí zachytávání a reportování chyb. Skript samozřejmě může obsahovat i kontrolu výstupu. Ale ta musí být v podobě odpovídajících příkazů připravena tvůrcem skriptu. Princip je ale takový - program provede všechno to, ale pouze to, co je ve skriptu. Ani AutoIt ani AutoHotKey nemají záznamník, který by umožňoval vytvářet skript prostým zaznamenáním činnosti v aplikaci (jako to umí například Sellenium). Každý skript musí být vytvořen "ručně" od začátku do konce. Naštěstí jsou pro oba programy k dispozici tutorialy a jejich uživatelé také sdílejí své zkušenosti na různých fórech.

Skriptovací jazyky, které tyto programy používají, jsou snadné k naučení a relativně jednoduché při použití. Umožňují přímou interakci s objekty aplikací, vkládání proměnných do těchto objektů, práci s externími soubory nebo dokonce i s registry Windows. Je možnost vytvářet složitější strukturu kódu s pomocí klasických podmínkových větvení a cyklů. 

Tak a teď zpět k tomu, proč AutoIt a AutoHotKey. Když jsem hledal nějaký jednoduchý způsob jak automatizovat některé činnosti, které jako tester prostě musím každý den dělat (přihlašování do různých prostředí, spouštění celé řady nástrojů s různými parametry, konfigurace testovacího prostředí atd.), narazil jsem nejdřív na AutoHotKey a měl jsem pocit, že můj problém je vyřešen. Bohužel jsem prakticky vzápětí narazil na problém, který jsem nebyl schopný vyřešit. Při dalším hledání vhodného nástroje jsem nalezl AutoIt a nestačil se divit. Oba tyto programy jsou totiž minimálně podobné. Na první pohled jsou jejich rozdíly vyloženě kosmetické. Ovládání je prakticky totožné, syntaxe použitého jazyka se liší minimálně. Navíc AutoHotKey umožňuje spouštět i skripty vytvořené pro AutoIt. 

Mám pocit, že tu někdo od někoho opisoval. Podle historie vývoje jednotlivých programů (uveřejněných na jejich stránkách) je AutoIt starší. Na téma podobnosti a rozdílů mezi AutoIt a AtoHotKey se dají nalézt i rozsáhlé diskuze. Nicméně rozdíly tu jsou. Díky tomu jsem byl v AutoIt schopen vyřešit problém, přes který jsem se v AutoHotKey nemohl dostat.

Jak AutoIt tak AutoHotKey představují rychlou a poměrně snadnou cestu jak automatizovat některé činnosti v procesu testování. Ze své podstaty jsou vhodné spíše jako podpůrné nástroje, ale tuto úlohu zvládnou skutečně dobře. Zda zvolit spíše AutoIt nebo AutoHotKey je na uvážení.  Přes velkou podobnost v některých ohledech se od sebe liší a to i na úrovni podporovaných funkcí. Doporučuji vyzkoušet oba. Základní osahání nezabere moc času. AutoIt naleznete zde. AutoHotKey je dosažitelný na těchto stránkách.

A na závěr jen krátká úvaha. Automatizovat některé činnosti v testování má smysl i tehdy, kdy jde o testy manuální a o jejich celkové automatizaci se neuvažuje. Často musí například tester před spuštěním testů provést různá nastavení prostředí, konfiguraci nástrojů, přihlašuje se do různých prostředí, archivuje předchozí výstupy a podobně. Jde o činnosti, které jsou pro testování nezbytné, protože bez jejich provedení není možné, ale z pohledu samotných testů jde o tzv. prerekvizity, tedy předpoklady pro spuštění. Obvykle jde o rutinní operace, které se stále opakují. Právě zde je velký prostor pro automatizaci skriptováním. Samozřejmě každý si musí rozmyslet, zda příprava podobného skriptu nezabere v celkovém časovém plánu projektu víc času než ruční naklikání požadovaných vstupních podmínek.

 

Nejbližší události


Testování software, Powered by Joomla!; Joomla templates by SG web hosting