1. rész
Bevezetés
A GUI tesztautomatizálás alatt a legtöbben a webalkalmazások és mobilalkalmazások tesztelését értik. Mi van akkor, ha egy Windows-os alkalmazást is kell tesztelni? Fejvakarás. Szétnézés a fizetős eszközök között. Pl.: Katalon Studio, Ranorex Studio vagy UFT (QTP). Ezek nem rossz termékek és valóban képesek Windows-os alkalmazások felületi, funkcionális, automatizált tesztelésére. De drágák.
A cikksorozatban szeretnék bemutatni egy open source, ingyenes alternatívát az AutoHotKey-t (AHK). Pár cikk erejéig önálló eszközként vizsgáljuk meg a tudását, de a végén megmutatom majd azt is, hogy Robot Framework-kel hogyan tud együttműködni.
Az AutoHotkey beszerzése
Az AutoHotKey-t egyszerűen levadászhatjuk a saját webhelyén (https://www.autohotkey.com) egy bátor Download gombra klikkeléssel. A cikk írásakor a 2.0-ás verzió a legfrissebb, ez sok mindenben szakít az 1.x verziókkal.
A telepítés Next-Next-es. A végén elindul a Dash alkalmazás, ami nélkül el lehet boldogulni, de ha már voltak olyan kedvesek és lefejlesztették nekünk, akkor érdemes lesz használni.
Az első megértés
Az AutoHotKey-nek van egy egyszerű programnyelve, aminek a segítségével (ahk kiterjesztésű) script állományokat hozhatunk létre. Ezeket az AutoHotKey segítségével futtathatjuk.
Az AutoHotKey programnyelve segítségével könnyen készíthetünk billentyűmakrókat vagy akár komplexebb Windows-os alkalmazásokat is.
Amikor felteszed a gépre az AHK-t és elindítod, látszólag nem történik semmi. Ez a helyes működés. 🙂 A háttérben elindul az AHK és vár. Várja, hogy milyen scriptet akarunk futtatni.
Kezdjük valami egyszerűvel.
Az első sikerélmények
Nem, nem csinálunk ’Hello Word’-öt! 🙂 Tesztelősebb példákat szeretnék mutatni. A következő kódokat egy üres, tesz01.ahk állományba írjuk. Lehet sima notepaddal is írni ezeket, de ha kényelmesek akartok lenni, akkor érdemes valamilyen programozó IDE-t használni. A Visual Studio Code a legtöbb ilyen tesztelős, automatizálásos játszadozáshoz megfelelő. Ha VSC-t használsz, akkor van egy AHK-s kiegészítő is, amit feltehetsz: AutoHotkey v2 Language Support.
Megjegyzés:
1. rövidítések: Teszteset írás gyorsítása
Teszteset írásakor gyakran kell nagyon hasonló mondatokat írnunk: „Nyomd le a … gombot!”, „Írd be a … mezőbe, hogy …!”, „Klikkelj a … linkre”. Ezek másolgatása enyhíti a fáradalmainkat, de azért ez is sok művelet: kijelölés, Ctrl+C, jó helyre állás, Ctrl+V.
Az AHK ahol tud segít.
a. egyszerűen
A teszt01.ahk állományba írd be:
::nlg::Nyomd le a … Gombot{!}
Mentsd el és most tudod futtatni. Vagy
- 1. A fájlkezelőben ráklikkelsz duplán a teszt01.ahk állományra, vagy
- 2. parancssorból az AutoHotKey.exe teszt01.ahk -val
Látszólag nem történt semmi. Látszólag.
Most írd be bárhova, ahova lehet írni (pl.: notepad, vagy word, vagy a böngész URL sora 🙂 )
nlg
és nyomj egy szóközt vagy egy Enter-t (vagy Tab-ot). Tádám.
Magyarázom:
::bármi::akármi
A bármit-t akármire cseréli menet közben. Remek lehetőség rövidítésekre.
Miért {!} van a végén? Mert a ! önmagában az Alt billentyű leütését jelenti.
b. jobban
Módosítsunk kicsit. Milyen jó lenne, ha a végén nem nekünk kéne visszamenni és kitörölni a … -ot. Persze ha nem tesszük bele a …-ot, akkor eleve nem lesz ott, de a visszamenést is jó lenne megoldani. Mi sem egyszerűbb:
::nlg::Nyomd le a(z) Gombot{!}{Left}{Left}{Left}{Left}{Left}{Left}{Left}{Left}
A {}-jelben lévő Left-et végre fogja hajtani.
Mentés után újra kell futtatni a teszt01.ahk-t. Figyelmeztetni fog, hogy ennek már egy példánya fut, ezzel az új futtatással a régi példányt eltávolítja a háttérből és ezt az újat fogja futtatni. Bátran klikkeljetek az Igenre.
Ha most próbáljátok, akkor kiírja a mondatot és a kurzor beáll a „Gombot!” elé.
Még egy szépítés a 8 {Left} helyett írhatjuk ezt is:
::nlg::Nyomd le a(z) Gombot{!}{Left 8}
2. Gyorsbillentyű készítés
Gyakran kell ugyanazokat a programokat elindítani, vagy ugyanazt a weboldalt megnyitni. Persze kitehetsz az asztalra link-ikonokat, de ebben az esetben, mindig az asztalt kell előbb láthatóvá tenni, majd rá-dupla-klikkelni az ikonra. Egyszerűbb lenne egy gyorsbillentyű kombináció.
Így megy ez (az előző sor után):
!p::Run „https://passed.hu/”
(Ne felejtsd el mentés után újra betölteni!)
Ha most Alt+p-t nyomsz, akkor az alapértelmezett böngészőben egy új lapon megnyitja a passed.hu oldalt.
Magyarázatok:
- A ! jel az Alt billentyűt jelenti.
- A Run paranccsal programokat lehet indítani, dokumentumokat és weboldalakat megnyitni. Pl.:
- számológép elindítása: Run „calc”
- valami.exe futtatása: Run „c:valaholvalami.exe”
- valami.pdf megnyítása: Run „c:valaholvalami.pdf”
3. Több akciót!
Nézzük meg, hogy hogyan megy több akció végrehajtása egy gyorsbillentyűhöz rendelve. Elkészítjük a Ctrl+c egy változatát, ahol a kurzor alatt álló szót fogjuk kijelölni és vágólapra küldeni, majd a szó után állítjuk a kurzort.
Ime:
^#c::
{
Send „^{Left}”
Send „^+{Right}”
Send „^c”
Send „^{Right}”
}
A Ctrl+Windows+c -hez rendeli a következőket.
SZERKESZTÉSHEZ: Ezekhez nincs beillesztett kód. Jó úgy, ha csak szimpla felsorolás és nincs a kód kódként kezelve
Send „^{Left}”: Ctrl + balra
Send „^+{Right}”:Ctrl + Shift + jobbra
Send „^c”: Ctrl + c
Send „^{Right}”: Ctrl + jobbra
4. Folytatás következik
Arra kell vigyázni, ha kutakodsz a neten, hogy az 1.1 és 2.0 verzió között sok különbség van. Érdemes az AutoHotKey helpjét böngészni a V2.0-nál, mert nagyon sok példát, tippet mutat.
A következő cikkben egy alkalmazásban kitöltünk egy formot.
Addig is:
Jó tesztet! Hajrá!