how handle windows pop up selenium using autoit
V tomto výukovém programu jsou vysvětleny různé metody pro manipulaci s vyskakovacím oknem systému Windows v selenu, kdykoli automatizace přejde z rozsahu pomocí nástroje AutoIT:
AutoIT je nástroj třetí strany, který poskytuje selenu pomocnou ruku při vyskakovacích oknech, jako je vyskakovací okno Windows Authentication, aplikace Flash, aplikace pro stolní počítače atd.
Selen je omezen pouze na automatizaci webových aplikací. V některých případech se může v aplikaci objevit vyskakovací okno systému Windows, které Selenium nedokáže zpracovat. Aby bylo možné takové scénáře zvládnout, nabízí AutoIT pomocnou ruku, která se stará o automatizaci vyskakovacích oken a desktopových aplikací Windows.
=> Navštivte zde a prohlédněte si sérii tréninků selenu pro všechny.
Co se naučíte:
Přehled nástroje AutoIT
Zde je videonávod:
Zpracování oken Windows pomocí AutoIT
AutoIT je nástroj jiného výrobce, který se používá ke zpracování aplikací založených na systému Windows. Použitý skriptovací jazyk se nazývá VBScript.AutoIt je také freeware. Využívá kombinacipohyb myši a tahy klávesnice k automatizaci akcí, které nelze provést webovým ovladačem selenu.
AutoIt se používá ve formátu .exe, takže jej lze použít ve skriptu automatizace selenu.
Podívejme se na příklad, kde bychom potřebovali nahrát soubor k aplikaci.
Scénář je nahrát profilový obrázek na LinkedIn. Kroky testu pro tento scénář jsou:
- Zadejte URL adresu
- Zadejte platné uživatelské jméno, heslo a přihlaste se.
- Klikněte na ikonu nahrávání profilu.
- Zobrazí se vyskakovací okno systému Windows, ve kterém je zadána cesta k nahrání obrázku.
Až do kroku 3 to zvládne Selenium Automation. Když se objeví Windows, objeví se skript AutoIT k automatizaci této části.
Pojďme se nyní podívat na to, jak automatizovat akce ve vyskakovacím okně Windows?
To lze řešit 4 různými způsoby.
- Použití příkazů Windows k nahrání konkrétního souboru.
- Nahrání souboru pomocí ovládacích příkazů.
- Pomocí argumentu příkazového řádku zadejte název souboru, který se má nahrát.
- Pomocí záznamového nástroje AutoIT.
Všechny skripty jsou vytvářeny pomocí AutoItScriptEditor, který je k dispozici v balíčku složek AutoIt.
Navigovat do AutoIt3> SciTE> SciTE.exe a otevřete aplikaci ScriptEditor.
# 1) Používání příkazů Windows
V AutoIt máme různé sady funkcí.
Můžete se podívat tady. Nyní, abychom mohli automatizovat vyskakovací akce Windows, pojďme nejprve analyzovat akce. Tyto zahrnují:
- Nastavte fokus na aktuální okno.
- Do pole Název souboru zadejte cestu k názvu souboru, který chcete nahrát.
- Klikněte na tlačítko Otevřít nebo stiskněte klávesu Enter na klávesnici.
Rozumíme výše uvedeným bodům podrobně:
- Nastavte fokus na aktuální okno
WinWaitActive : Nastaví fokus kurzoru na zadaný název okna. V tomto případě je název okna „Otevřený“. Takže zadáme příkaz jakoWinWaitActive („Otevřít“).
Pamatujte, že stejný název Windows se u každého prohlížeče liší.
Říci, pro Firefox , je to „Nahrání souboru“, - Takže příkaz AutoIT budeWinWaitActive („Nahrání souboru“).
Pro IE je to „File To Upload“ - tedy příkaz AutoIT budeWinWaitActive („soubor k nahrání“)
Pro Chrome , je to „Otevřít“ - příkaz AutoIT tedy budeWinWaitActive („Otevřít“)
Měli byste určit název okna na základě prohlížeče, který používáte pro automatizaci.
2. Do pole Název souboru zadejte cestu k názvu souboru, který chcete nahrát
Poslat - odesílá tahy klávesnice nebo jinými slovy simuluje akce klávesnice.
Akce mohou být stisknuty na klávesu Enter, Shift, atd. NEBO zadáním řetězce, čísla atd. V tomto příkladu musím zadat název souboru, takže pomocí příkazu zadám v okně název souboru. -Odeslat („D: passport.jpg“)
3. Klikněte na tlačítko Otevřít nebo stiskněte klávesu Enter na klávesnici
Odeslat ({ENTER})- odešle klávesovou zkratku ENTER do okna, které následně dokončí akci nahrávání.
jaká je fáze analýzy v sdlc
Uložte vytvořený skript na libovolné místo. Bude uložen ve formátu .au3. Po uložení klikněte pravým tlačítkem na soubor .au3 a zkompilujte jej.
Po kompilaci se převede do formátu .exe (spustitelný formát). Tento soubor používáme ve skriptu selenu.
Jakmile je soubor .exe vytvořen, můžete jej použít ke spuštění příkazů v skriptu Selenium Automation
Runtime.getRuntime.exec („zde zadejte autoIt exe název souboru“)
# 2) Používání řídicích příkazů
V AutoIT máme určité ovládací příkazy k provádění akcí. Zde je seznam řídicích příkazů v AutoIT.
Podívejme se, jak automatizovat stejný scénář nahrávání souborů pomocí těchto řídicích příkazů AutoIT.
Nyní v pořádku k automatizaci vyskakovacího okna Windows je třeba provést níže uvedené akce:
- Nastavte fokus na aktuální okno.
- Do pole Název souboru zadejte cestu k názvu souboru, který chcete nahrát.
- Klikněte na tlačítko Otevřít nebo stiskněte klávesu Enter na klávesnici.
Rozumíme výše uvedeným bodům podrobně:
- Nastavte fokus na aktuální okno
ControlFocus:Nastaví fokus na zadaný prvek. V tomto případě jsme nastavili fokus na textové pole pro úpravy.
Když se podíváte na jeho popis, uvidíte, že vyžaduje jeden nebo více parametrů. Tyto parametry můžeme předat pomocí nástroje Windows Info nástroje AutoIt.
Pojďme otevřete aplikaci AutoIT níže:
Otevře se nástroj Windows Info, jak je uvedeno níže:
Tento nástroj se používá ke kontrole prvků v aplikaci / vyskakovacím okně Windows.
Chcete-li v rozevíracím seznamu Windows získat různé atributy každého prvku, přetáhněte ikonu „Finder“ v nástroji Windows Info Tool a kliknutím na prvek zobrazte jeho vlastnosti, jak je uvedeno níže.
Máme jeho vlastnosti zobrazené v nástroji, jak je znázorněno.
V poli Název souboru jsou vlastnosti a odpovídající hodnoty:
- Název - Otevřít
- Název třídy - Upravit
- Instance - 1
Pomocí těchto vlastností můžeme předat parametry řídicího příkazu.
Nyní, abychom nastavili fokus na pole Název souboru, nazýváme příkaz „ControlFocus“, jak je uvedeno níže:
- Syntaxe: ControlFocus („název“, „text“, controlID)
- „Název“ odpovídá názvu zobrazenému v nástroji.
- ID ovládacího prvku je kombinace ClassName + instance v nástroji
ControlFocus („Otevřít“, „“, „Upravit1“)
Kde,
- Otevřít - je název
- Edit1 - je controlID (controlID = ClassName + instance)
2. Do pole Název souboru zadejte cestu k názvu souboru, který chcete nahrát
ControlSetText - zadá text do prvku.
- Syntaxe: ControlSetText („title“, „text“, controlID, „new text“ (, flag = 0))
V našem případě máme název souboru v textovém poli.
ControlSetText („Otevřít“, „“, „Upravit1“, „D: passport.jpg“)
Kde,
- Otevřít - je název
- Edit1 - je controlID (controlID = ClassName + instance)
- D: passport.jpg - je název souboru, který se má nahrát
3. Klikněte na tlačítko Otevřít nebo stiskněte klávesu Enter na klávesnici
ControlClick - provede akci kliknutí na prvek. V tomto příkladu klikneme na tlačítko „Otevřít“
- Syntaxe: ControlClick („název“, „text“, controlID (, tlačítko = „vlevo“ (, kliknutí = 1 (, x (, y))))))
V našem případě by mělo ve vyskakovacím okně Windows kliknout na tlačítko „Otevřít“.
ControlClick („Otevřít“, „“, „Tlačítko1“)
Kde,
- Otevřít - je název
- Button1 - je controlID (controlID = ClassName + Instance)
Zavoláme soubor .exe z kódu selenu pomocí příkazu-Runtime.getRuntime.exec („zde zadejte autoIt exe název souboru“)
POZNÁMKA: Když musíme nahrát více souborů v jedné instanci, můžeme určit všechny názvy souborů v proměnné a předat název proměnné v příkazu.
ControlFocus - nastaví fokus na prvek.
$ soubory - je vytvořená proměnná, která obsahuje text / název souboru, který se má nahrát.
ControlSetText - předá proměnnou, která má názvy souborů, které se mají nahrát, do prvku „Upravit“.
ContolClick - provede akci kliknutí na prvek.
# 3) Použití příkazového řádku k určení názvu souboru k nahrání
Ke stejnému postupu lze přistupovat jiným způsobem, přičemž název souboru je získán od uživatele. To se provádí pomocí přístupu z příkazového řádku.
Namísto přímého zadání názvu souboru v AutoIT jej předáme v selenovém kódu, jak je uvedeno níže:
Skript AutoIT: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
V kódu selenu:
Určujeme to jako:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
V tomto případě to bude
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Vytvořený soubor uložte a zkompilujte, abyste jej převedli do spustitelného formátu.
# 4) Použití funkce záznamu AutoIT
Tato funkce je k dispozici pouze ve verzích níže 3.3.14.0. Verze vyšší než tato nepodporují tuto funkci.
Chcete-li otevřít nástroj Záznam, přejděte na AutoIt3> Doplňky> Au3Record> Au3Record.exe
Když to začneme používat, vždy zrušte výběr možnosti „Záznam myši“, protože interakce myši se u každého rozlišení obrazovky liší. Vždy zaznamenávejte tahy klávesnice.
V nástroji vyberte možnost „Click to Record“ a akce se do něj zaznamenají.
Po dokončení záznamu vyberte možnost „Click to Stop“ a soubor uložte
Můžete otevřít uložený soubor .au3 a zobrazit příkazy vytvořené pro každou akci, kterou jste provedli
Zkompilujte skript a převeďte jej na soubor .exe.
Vytvořený soubor .exe lze přímo použít v kódu selenu k provedení, jak je uvedeno níže:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Závěr
Libovolná vyskakovací okna systému Windows, jako je ověřování nebo nahrávání souborů nebo otevření souboru atd., Lze tedy zpracovat pomocí AutoIT zahrnutím jeho souboru skriptu do selenu.
V následující kapitole se seznámíme s dalším nástrojem třetí strany s názvem Sikuli, který se používá k automatizaci aplikací pomocí techniky rozpoznávání obrazu.
=> Navštivte zde a dozvíte se selen od začátku.
Doporučené čtení
- Jak zpracovat upozornění / vyskakovací okna v Selenium WebDriver - Selenium Tutorial # 16
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Top 10 selenových výjimek a jak s nimi zacházet (přesný kód)
- Úvod do selenu WebDriver - Selenium Tutorial # 8
- Výukový program AutoIt - Stažení, instalace a základní skript AutoIt
- Výukový program ChromeDriver Selenium: Testy selenového webdriveru v prohlížeči Chrome
- 30+ nejlepších návodů na selen: Naučte se selen se skutečnými příklady
- Nabídka pracovních míst na volné noze pro odborníky na selen