Cikksorozat: Windows automatizálás AutoHotKey segítségével  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.

Beszerzés

Az AutoHotKey-t egyszerűen levadászhatjuk a saját webhelyén (LINK: 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 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:

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:

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:

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:\valahol\valami.exe”
    • valami.pdf megnyítása: Run „c:\valahol\valami.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:

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á!

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

Hogyan segíti az AI a tesztesetek generálását?

A modern szoftverfejlesztés egyik legnagyobb kihívása az idő. A sprintek rövidek, a funkciók száma folyamatosan nő, miközben a minőségi elvárások nem csökkennek. Ebben a feszített tempóban a teszt tervezése és a tesztesetek megírása gyakran a fejlesztési folyamat szűk keresztmetszetévé válik. Egy manuális tesztelő órákat tölthet azzal, hogy egy-egy komplex user story alapján pontról pontra kidolgozza

Hol bukik el leggyakrabban a szoftvertesztelés egy projektben? 4 szisztematikus hiba, amit nem szabad elkövetnetek

Minden projektmanager ismeri az érzést: a sprint végi demón minden zöld, az elfogadó tesztek átmentek, a csapat gratulál egymásnak – aztán az élesítés után két nappal becsörög az ügyfél, hogy egy kritikus üzleti folyamat nem működik. De hogyan juthatott keresztül egy ekkora hiba az egész tesztelési rendszeren? A válasz szinte sohasem az, hogy „a tesztelők

Biztosítási jutalékszámítási rendszer AI-alapú tesztelése

Egy biztosítótársaság pénzügyi működésének és értékesítési hálózatának alapköve a jutalékelszámolás. Ha a jutalékszámítási rendszerben hiba lép fel, az nemcsak közvetlen anyagi veszteséget jelent, hanem azonnal erodálja az értékesítési ügynökök bizalmát is. Egy ilyen komplex rendszer teszteléséhez óriási mennyiségű, változatos és élethű életúttal rendelkező adatra van szükség. Ugyanakkor a szigorú adatvédelmi szabályozások (GDPR) miatt az éles

Scroll to Top