facebook-pixel

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.

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

Megosztás

Facebook
LinkedIn
Twitter

Nem szeretnél lemaradni az új bejegyzésekről?

Tartalomjegyzék

Érdekel a tesztelés világa?

Dolgozz velünk hazai és nemzetközi projekteken

egy csoport ember ül egy asztalnál laptopokkal

Várj, ne maradj le legújabb szakmai cikkeinkről

Iratkozz fel hírlevelünkre és minden hónapban elküldjük a legizgalmasabb cikkeket

egy laptop számítógépet tartó szemüveges férfi
egy süti csokireszelékkel
Tájékoztatjuk, hogy a honlap felhasználói élmény fokozásának érdekében sütiket alkalmazunk. A honlapunk használatával ön a tájékoztatásunkat tudomásul veszi.