how handle windows pop up selenium using autoit
V tomto výučbe sú vysvetlené rôzne spôsoby riešenia pop-up okien na seléne, kedykoľvek automatizácia vyjde z rozsahu pomocou nástroja AutoIT:
AutoIT je nástroj tretej strany, ktorý poskytuje selénu pomocnú ruku pri manipulácii s automaticky otváranými oknami, ako je kontextové okno Windows Authentication, aplikácie Flash, desktopové aplikácie atď.
Selén je obmedzený iba na automatizáciu webových aplikácií. V niektorých prípadoch sa v aplikácii môže zobraziť kontextové okno systému Windows, ktoré selén nedokáže spracovať. Pri riešení týchto scenárov podáva pomocnú ruku AutoIT, ktorý sa stará o automatizáciu vyskakovacích a desktopových aplikácií Windows.
=> Navštívte tu a pozrite si sériu školení pre selén pre všetkých.
Čo sa dozviete:
Prehľad nástroja AutoIT
Tu je videonávod:
Ovládanie automaticky otváraných okien pomocou AutoIT
AutoIT je nástroj tretej strany, ktorý sa používa na prácu s aplikáciami založenými na systéme Windows. Použitý skriptovací jazyk sa nazýva VBScript.AutoIt je tiež freeware. Používa kombináciupohyb myši a ťahy klávesnice na automatizáciu akcií, ktoré nie je možné vykonať pomocou webového ovládača selénu.
AutoIt sa používa vo formáte .exe, aby ho bolo možné použiť v skripte automatizácie selénu.
Pozrime sa na príklad kde by sme potrebovali nahrať súbor k aplikácii.
Scenár je nahrať profilovú fotku na LinkedIn. Kroky testu pre tento scenár sú:
- Zadajte URL
- Zadajte platné používateľské meno, heslo a prihláste sa.
- Kliknite na ikonu odovzdania profilu.
- Zobrazí sa kontextové okno systému Windows, v ktorom je zadaná cesta na nahranie obrázka.
Až do kroku 3 to zvládne selénová automatizácia. Keď sa objaví okno Windows, na automatizáciu tejto časti sa použije skript AutoIT.
Poďme sa teraz pozrieť na to, ako automatizovať akcie v kontextovom okne systému Windows?
To je možné zvládnuť 4 rôznymi spôsobmi.
- Používanie príkazov systému Windows na nahranie konkrétneho súboru.
- Na nahranie súboru pomocou ovládacích príkazov.
- Pomocou argumentu príkazového riadku zadajte názov súboru, ktorý sa má nahrať.
- Pomocou nástroja na záznam AutoIT.
Všetky skripty sa vytvárajú pomocou AutoItScriptEditor, ktorý je k dispozícii v balíku priečinkov AutoIt.
Prejdite na AutoIt3> SciTE> SciTE.exe a otvorte aplikáciu ScriptEditor.
# 1) Používanie príkazov Windows
V AutoIt máme rôzne sady funkcií.
Môžete sa pozrieť tu. Teraz, aby sme mohli automatizovať vyskakovacie akcie systému Windows, najskôr analyzujme akcie. Tie obsahujú:
- Zaostrite na aktuálne okno.
- Do poľa Názov súboru zadajte cestu k názvu súboru, ktorý chcete nahrať.
- Kliknite na tlačidlo Otvoriť alebo stlačte kláves Enter na klávesnici.
Poďme podrobne pochopiť vyššie uvedené body:
- Zaostrite na aktuálne okno
WinWaitActive : Nastaví zameranie kurzora na zadaný názov okna. V takom prípade je názov okna „Otvorené“. Takže príkaz zadáme akoWinWaitActive („otvorené“).
Upozorňujeme, že rovnaký názov systému Windows sa líši pre každý prehľadávač.
Povedať, pre Firefox , je to „Nahranie súboru“, - Takže príkaz AutoIT budeWinWaitActive („nahrávanie súborov“).
Pre IE je to „Súbor na nahranie“ - teda príkaz AutoIT budeWinWaitActive („súbor na odovzdanie“)
Pre Chrome , je to „Otvoriť“ - príkaz AutoIT teda budeWinWaitActive („otvorené“)
Mali by ste určiť názov okna na základe prehľadávača, ktorý používate na automatizáciu.
dva. Do poľa Názov súboru zadajte cestu k názvu súboru, ktorý chcete nahrať
Pošli - odosiela údery klávesnice alebo inými slovami simuluje akcie klávesnice.
Akcie môžu byť stlačené na klávesu Enter, klávesu Shift atď. ALEBO zadaním reťazca, čísla atď. V tomto príklade musím zadať názov súboru, takže pomocou príkazu v okne zadám názov súboru. -Odoslať („D: passport.jpg“)
3. Kliknite na tlačidlo Otvoriť alebo stlačte kláves Enter na klávesnici
Odoslať ({ENTER})- pošle klávesovú skratku ENTER do okna, čím sa dokončí akcia nahrávania.
aký je rozdiel medzi unixom a linuxom
Uložte skript vytvorený na ľubovoľnom mieste. Uloží sa vo formáte .au3. Po uložení kliknite pravým tlačidlom myši na súbor .au3 a skompilujte ho.
Po kompilácii sa prevedie do formátu .exe (spustiteľný formát). Tento súbor používame v selénovom skripte.
Po vytvorení súboru .exe ho môžete použiť na spustenie príkazov v skripte automatizácie selénu
Runtime.getRuntime.exec („tu zadajte autoIt exe názov súboru“)
# 2) Používanie ovládacích príkazov
V aplikácii AutoIT máme určité ovládacie príkazy na vykonávanie akcií. Tu je zoznam riadiacich príkazov v AutoIT.
Pozrime sa, ako automatizovať rovnaký scenár nahrávania súborov pomocou týchto riadiacich príkazov AutoIT.
Teraz v poriadku na automatizáciu vyskakovacieho okna Windows je potrebné vykonať nasledujúce akcie:
- Zaostrite na aktuálne okno.
- Do poľa Názov súboru zadajte cestu k názvu súboru, ktorý chcete nahrať.
- Kliknite na tlačidlo Otvoriť alebo stlačte kláves Enter na klávesnici.
Poďme podrobne pochopiť vyššie uvedené body:
- Zaostrite na aktuálne okno
ControlFocus:Nastaví zameranie na zadaný prvok. V tomto prípade sme nastavili zameranie na editačné textové pole.
Keď sa pozriete na jeho popis, uvidíte, že vyžaduje jeden alebo viac parametrov. Tieto parametre môžeme odovzdať pomocou nástroja Windows Info nástroja AutoIt.
Poďme otvorte aplikáciu AutoIT, ako je uvedené nižšie:
Nástroj Windows Info sa otvorí nižšie:
Tento nástroj sa používa na kontrolu prvkov vo vyskakovacej aplikácii Windows.
Ak chcete, aby sa v rozbaľovacom okne systému Windows zobrazili rôzne atribúty každého prvku, potiahnite ikonu 'Finder' v informačnom nástroji Windows a kliknutím na prvok zobrazte jeho vlastnosti, ako je uvedené nižšie.
V nástroji máme zobrazené jeho vlastnosti, ako je to znázornené.
V poli Názov súboru sú vlastnosti a príslušné hodnoty:
- Názov - otvorené
- Názov triedy - Upraviť
- Inštancia - 1
Pomocou týchto vlastností môžeme odovzdať parametre pre riadiaci príkaz.
Teraz, aby sme nastavili zameranie na pole FileName, zavoláme príkaz „ControlFocus“, ako je uvedené nižšie:
- Syntax: ControlFocus („názov“, „text“, controlID)
- „Názov“ zodpovedá názvu zobrazenému v nástroji.
- ID kontroly je kombináciou ClassName + inštancie v nástroji
ControlFocus („Otvoriť“, „“, „Upraviť1“)
Kde,
- Otvorené - je názov
- Edit1 - je controlID (controlID = ClassName + Instance)
dva. Do poľa Názov súboru zadajte cestu k názvu súboru, ktorý chcete nahrať
ControlSetText - zadá text do prvku.
- Syntax: ControlSetText („názov“, „text“, controlID, „nový text“ (, vlajka = 0))
V našom prípade máme v textovom poli názov súboru.
ControlSetText („Otvoriť“, „“, „Upraviť1“, „D: passport.jpg“)
Kde,
- Otvorené - je názov
- Edit1 - je controlID (controlID = ClassName + Instance)
- D: passport.jpg - je názov súboru, ktorý sa má nahrať
3. Kliknite na tlačidlo Otvoriť alebo stlačte kláves Enter na klávesnici
ControlClick - vykoná akciu kliknutia na prvok. V tomto príklade klikneme na tlačidlo „Otvoriť“
- Syntax: ControlClick („názov“, „text“, controlID (, tlačidlo = „vľavo“ (, kliknutia = 1 (, x (, y))))))
V našom prípade by malo v kontextovom okne systému Windows kliknúť na tlačidlo „Otvoriť“.
ControlClick („Otvoriť“, „“, „Tlačidlo1“)
Kde,
- Otvorené - je názov
- Button1 - je controlID (controlID = ClassName + Instance)
Súbor .exe voláme z kódu selénu pomocou príkazuRuntime.getRuntime.exec („tu zadajte autoIt exe názov súboru“)
POZNÁMKA: Keď musíme nahrať viac súborov v jednej inštancii, môžeme určiť všetky názvy súborov v premennej a zadať názov premennej v príkaze.
ControlFocus - nastaví zameranie na prvok.
$ files - je vytvorená premenná, ktorá obsahuje text / názov súboru, ktorý sa má nahrať.
ControlSetText - odovzdá premennú s názvami súborov, ktoré sa majú nahrať, do prvku „Upraviť“.
ContolClick - vykoná akciu kliknutia na prvok.
# 3) Pomocou príkazového riadku zadajte názov súboru, ktorý chcete nahrať
K rovnakému postupu možno pristupovať iným spôsobom, keď sa názov súboru získa od používateľa. To sa deje pomocou prístupu z príkazového riadku.
Namiesto priameho zadania názvu súboru v AutoIT ho odovzdáme do selénového kódu, ako je uvedené nižšie:
AutoIT Script: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
V seléne Kód:
Zadávame ako:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
V takom prípade to bude
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Vytvorený súbor uložte a skompilujte, aby ste ho previedli do spustiteľného formátu.
# 4) Použitie funkcie záznamu AutoIT
Táto funkcia je k dispozícii iba vo verziách nižších ako 3.3.14.0. Verzie väčšie ako táto nepodporujú túto funkciu.
Ak chcete otvoriť nástroj Záznam, prejdite na AutoIt3> Doplnkové služby> Au3Record> Au3Record.exe
Keď to začneme používať, vždy zrušte výber možnosti „Nahrávať myš“, pretože interakcia myši sa líši pre každé rozlíšenie obrazovky. Vždy si zaznamenajte ťahy klávesnice.
V nástroji vyberte možnosť „Kliknúť na záznam“ a akcie sa v ňom zaznamenajú.
Po dokončení nahrávania vyberte možnosť „Click to Stop“ a uložte súbor
Môžete otvoriť uložený súbor .au3, aby ste videli príkazy vytvorené pre každú akciu, ktorú ste vykonali
Zostavte skript a preveďte ho na súbor .exe.
Vytvorený súbor .exe je možné priamo použiť v kóde selénu na vykonanie, ako je uvedené nižšie:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Záver
S programom AutoIT teda možno manipulovať s ľubovoľným kontextovým oknom systému Windows, ako je autentifikácia alebo nahrávanie súborov, otvorenie súboru atď., Zahrnutím jeho súboru skriptu do selénu.
V nasledujúcej kapitole sa dozvieme o ďalšom nástroji tretej strany s názvom Sikuli, ktorý sa používa na automatizáciu aplikácií pomocou techniky rozpoznávania obrazu.
=> Navštívte tu a naučte sa selén od nuly.
Odporúčané čítanie
- Ako zaobchádzať s upozorneniami alebo vyskakovacími oknami v selenovom webovom ovládači - selénský výukový program č. 16
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Top 10 selénových výnimiek a ako s nimi zaobchádzať (presný kód)
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Výukový program AutoIt - Stiahnutie, inštalácia a základný skript AutoIt
- Výukový program pre selén ChromeDriver: Testy selenového webdriveru v prehliadači Chrome
- 30+ najlepších návodov na selén: Naučte sa selén na skutočných príkladoch
- Pracovná príležitosť na voľnej nohe na čiastočný úväzok pre odborníkov na selén