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

QA staffing: hogyan lehet gyorsan és biztonságosan kapacitást bővíteni?

Bevezetés Előző cikkünkben (itt olvasható) arról írtunk, hogy mikor érdemes külsős tesztelőt bevonni, és mikor intő jel, ha csak tűzoltásra használnánk őket. Most, hogy már tudjuk a „mikor”-t, evezzünk gyakorlatiasabb vizekre, és nézzük meg a „hogyan”-t. Hogyan lehet úgy bővíteni a csapatot, hogy az ne a káoszt növelje, hanem a megoldást hozza el? (Megjegyzés: A szakmában gyakran

Külsős tesztelő bevonása: mikor segít, és mikor pénzkidobás?

Bevezetés Minden szoftverfejlesztési projekt életében eljön az a pont, amikor a csapat vezetője, a projektmenedzser vagy a cégtulajdonos a homlokára csap: „Nekünk azonnal tesztelők kellenek!” A hibák szaporodnak, a fejlesztők túlterheltek, az ügyfél pedig egyre türelmetlenebbül dobol az asztalon. Ilyenkor tűnik logikus és gyors megoldásnak a külsős szakértő bevonása. Felhívunk egy partnert, kérünk két senior

Hogyan teszteltünk új jogosultságkezelést egy vállalati HR rendszerben

Bevezető Egy vállalat HR rendszere nemcsak dolgozói adatokat tárol – bizalmat is kezel. Ha a jogosultságkezelésben hiba van, az nem csupán technikai probléma: adatvédelmi incidens, reputációs kár és jogi következmény is lehet belőle. Ebben az esettanulmányban bemutatjuk, hogyan zajlott egy valós, összetett tesztelési projekt, ahol a cél az volt, hogy a HR rendszer új, LDAP

Scroll to Top
Passed
Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak. Adatkezelési tájékoztató