how handle windows pop up selenium using autoit
Ovaj vodič objašnjava različite metode za rukovanje iskačućim prozorima sustava Windows u selenu kad god automatizacija izlazi iz opsega pomoću alata AutoIT:
AutoIT je alat treće strane koji pruža Seleniju ruku za pomoć pri rukovanju skočnim prozorima poput skočnih prozora za provjeru autentičnosti sustava Windows, Flash aplikacija, Desktop aplikacija i tako dalje.
Selen je ograničen samo na automatizaciju web aplikacija. U nekim se slučajevima u aplikaciji može pojaviti skočni prozor sustava Windows koji Selenium ne može obraditi. Da bi se bavio takvim scenarijima, AutoIT pruža ruku pomoći u kojoj se brine o automatizaciji Windows skočnih prozora i aplikacija za radnu površinu.
=> Posjetite ovdje da biste vidjeli seriju treninga za selen za sve.
Što ćete naučiti:
Pregled alata AutoIT
Evo video vodiča:
Rukovanje iskačućim prozorima sustava Windows pomoću AutoIT-a
AutoIT je alat treće strane koji se koristi za obradu aplikacija temeljenih na sustavu Windows. Upotrijebljeni skriptni jezik naziva se VBScript.AutoIt je također besplatan program. Koristi kombinacijupomicanje miša i potezi tipkovnice za automatizaciju radnji koje nije moguće izvršiti pomoću upravljačkog programa selena.
AutoIt se koristi u .exe formatu tako da se može koristiti u skripti Selenium Automation.
Pogledajmo primjer, pri čemu bismo morali prenesite datoteku na prijavu.
Scenarij je prijenos slike profila na LinkedIn. Koraci testiranja za ovaj scenarij su:
- Unesite URL
- Unesite važeće korisničko ime, lozinku i prijavite se.
- Kliknite ikonu za prijenos profila.
- Pojavit će se skočni prozor sustava Windows u koji je unesen put za prijenos slike.
Do koraka 3, Selenium Automation to može podnijeti. Kad se pojavi skočni prozor sustava Windows, skripta AutoIT koristi se za automatizaciju tog dijela.
Pogledajmo sada kako automatizirati radnje u skočnom prozoru sustava Windows?
To se može riješiti na 4 različita načina.
- Korištenje Windows naredbi za prijenos određene datoteke.
- Korištenje upravljačkih naredbi za prijenos datoteke.
- Upotreba argumenta naredbenog retka za određivanje Imena datoteka koje će se prenijeti.
- Korištenje alata za snimanje AutoIT.
Sve skripte stvorene su pomoću AutoItScriptEditor, koji je dostupan u paketu mapa AutoIt.
Dođite do AutoIt3> SciTE> SciTE.exe i otvorite aplikaciju ScriptEditor.
# 1) Korištenje Windows naredbi
U AutoItu imamo razne skupove funkcija.
Možete pogledati ovdje. Sada, kako bismo automatizirali skočne akcije u sustavu Windows, dopuštamo prvo analizu akcija. To uključuje:
- Postavite fokus na trenutni prozor.
- U okvir Ime datoteke unesite put imena datoteke za prijenos.
- Kliknite gumb Otvori ili pritisnite Enter na tipkovnici.
Razumimo detaljno gornje točke:
- Postavite fokus na trenutni prozor
WinWaitActive : Postavlja fokus kursora na navedeno ime prozora. U ovom je slučaju naslov prozora 'Otvoren'. Dakle, naredbu navodimo kaoWinWaitActive („Otvoreno“).
Napominjemo da se isti Windows naslov razlikuje za svaki preglednik.
Reći, za Firefox , to je 'File Upload', - Dakle, naredba AutoIT će bitiWinWaitActive ('Prijenos datoteke').
Za IE, to je 'File To Upload' - Dakle, naredba AutoIT će bitiWinWaitActive ('Datoteka za prijenos')
Za Chrome , to je ‘Otvoreno’ - Dakle, naredba AutoIT će bitiWinWaitActive („Otvoreno“)
Trebali biste odrediti naslov prozora na temelju preglednika koji koristite za automatizaciju.
dva. U okvir Ime datoteke unesite put imena datoteke za prijenos
Poslati - šalje poteze tipkovnicom ili drugim riječima, simulira radnje tipkovnice.
Radnje mogu pritiskati tipku Enter, tipku Shift itd. ILI upisivanje niza, broja itd. U ovom primjeru trebam upisati fileName, pa koristim naredbu za unos Imena datoteke u prozor. -Pošalji („D: putovnica.jpg“)
3. Kliknite gumb Otvori ili Pritisnite Enter na tipkovnici
Pošalji ({ENTER})- šalje ENTER pritiskom tipke na prozor, što zauzvrat dovršava radnju prijenosa.
koji je najbolji os za pc
Spremite skriptu stvorenu na bilo kojem mjestu. Spremit će se u .au3 formatu. Nakon spremanja, desnom tipkom miša kliknite datoteku .au3 i kompajlirajte je.
Nakon kompilacije pretvara se u .exe format (izvršni format). Ova datoteka je ono što koristimo u skripti Selenium.
Jednom kada je stvorena .exe datoteka, možete je koristiti u skripti Selenium Automation za pokretanje naredbi u njoj
Runtime.getRuntime.exec ('ovdje navedite naziv datoteke autoIt exe')
# 2) Korištenje upravljačkih naredbi
U AutoIT-u imamo određene kontrolne naredbe za izvršavanje radnji. Evo popisa upravljačkih naredbi u AutoIT-u.
Pogledajmo kako automatizirati isti scenarij za prijenos datoteka pomoću ovih kontrolnih naredbi AutoIT-a.
Sad, redom za automatizaciju Windows skočnog prozora potrebno je izvršiti sljedeće radnje:
- Postavite fokus na trenutni prozor.
- U okvir Ime datoteke unesite put imena datoteke za prijenos.
- Kliknite gumb Otvori ili pritisnite Enter na tipkovnici.
Razumimo detalje gore navedene točke:
- Postavite fokus na trenutni prozor
ControlFocus:Postavlja fokus na navedeni element. U ovom slučaju fokus postavljamo na okvir za uređivanje teksta.
Kad pogledate njegov opis, možete vidjeti da zahtijeva jedan ili više parametara. Te parametre možemo proslijediti pomoću Windows Info alata AutoIt.
Idemo otvorite aplikaciju AutoIT kao dolje:
Alat za informacije o sustavu Windows otvara se na sljedeći način:
Ovaj se alat koristi za pregled elemenata u Windows / skočnom prozoru.
Da biste u skočnom prozoru sustava Windows dobili različite atribute svakog elementa, povucite ikonu „Finder“ (Pronalaženje) na Windowsovom alatu za informacije i kliknite element da bi se prikazala njegova svojstva kao u nastavku.
U alatu imamo prikazana njegova svojstva kao što je prikazano.
Za okvir FileName svojstva i odgovarajuće vrijednosti su:
- Naslov - otvoren
- Ime klase - Uredi
- Instanca - 1
Koristeći ova svojstva, možemo proslijediti parametre za naredbu control.
Sada, da bismo fokus postavili na okvir FileName, pozivamo naredbu 'ControlFocus' kako je dolje prikazano:
- Sintaksa: ControlFocus („naslov“, „tekst“, controlID)
- ‘Naslov’ odgovara naslovu prikazanom u alatu.
- Control Id je kombinacija ClassName + Instance u alatu
ControlFocus ('Otvori', '', 'Uredi1')
Gdje,
- Otvoreno - naslov je
- Edit1 - je controlID (controlID = Ime klase + Instanca)
dva. U okvir Ime datoteke unesite put imena datoteke za prijenos
ControlSetText - upisuje tekst elementa.
- Sintaksa: ControlSetText („naslov“, „tekst“, controlID, „novi tekst“ (, zastava = 0))
U našem slučaju, naziv datoteke imamo u tekstnom okviru.
ControlSetText ('Otvori', '', 'Uredi1', 'D: putovnica.jpg')
Gdje,
- Otvoreno - naslov je
- Edit1 - je controlID (controlID = Ime klase + Instanca)
- D: putovnica.jpg - naziv je datoteke za prijenos
3. Kliknite gumb Otvori ili Pritisnite Enter na tipkovnici
ControlClick - izvodi akciju klika na element. U ovom primjeru izvodimo klik na gumb „Otvori“
- Sintaksa: ControlClick („naslov“, „tekst“, controlID (, gumb = „lijevo“ (, klikovi = 1 (, x (, y))))))
U našem bi slučaju trebao kliknuti na gumb „Otvori“ u skočnom prozoru sustava Windows.
ControlClick (“Open”, ”,”, Button1 ”)
Gdje,
- Otvoreno - naslov je
- Button1 - je controlID (controlID = ClassName + Instance)
Datoteku .exe pozivamo iz selenijskog koda pomoću naredbe-Runtime.getRuntime.exec ('ovdje navedite naziv datoteke autoIt exe')
BILJEŠKA: Kada moramo učitati više datoteka u jednoj instanci, možemo odrediti sva imena datoteka u varijabli i u naredbi proslijediti ime varijable.
ControlFocus - postavlja fokus na element.
$ files - je varijabla stvorena i sadrži tekst / naziv datoteke za prijenos.
ControlSetText - prenosi varijablu koja ima nazive datoteka za prijenos u element ‘Uredi’.
ContolClick - izvodi akciju klika na element.
# 3) Korištenje naredbenog retka za određivanje naziva datoteke za prijenos
Istom se postupku može pristupiti na drugačiji način pri čemu se naziv datoteke dobiva od korisnika. To se radi pomoću naredbenog retka.
Umjesto da izravno specificiramo naziv datoteke u AutoIT-u, prosljeđujemo ga u kodu Selenium kao dolje:
Skripta AutoIT: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
Kod selena:
Navedemo ga kao:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
U ovom će slučaju biti
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Spremite stvorenu datoteku i kompajlirajte je kako biste je pretvorili u izvršni format.
# 4) Korištenje značajke Record AutoIT
Ova je značajka dostupna samo u verzijama ispod 3.3.14.0. Verzije veće od te ne podržavaju ovu značajku.
Da biste otvorili alat za snimanje, idite na AutoIt3> Dodaci> Au3Record> Au3Record.exe
Kad počnemo koristiti ovo, uvijek poništite odabir opcije 'Snimi miša', jer interakcija miša razlikuje se za svaku razlučivost zaslona. Uvijek snimajte poteze tipkovnice.
Odaberite 'Kliknite za snimanje' u alatu i radnje će se bilježiti u njemu.
Kad završite sa snimanjem, odaberite ‘Click to Stop’ i spremite datoteku
Možete otvoriti .au3 datoteku spremljenu da biste vidjeli naredbe stvorene za svaku radnju koju ste izvršili
Sastavite skriptu i pretvorite je u .exe datoteku.
Stvorena .exe datoteka može se izravno upotrijebiti u selenijskom kodu za izvršenje kao dolje:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Zaključak
Dakle, bilo koji Windows skočni prozor poput provjere autentičnosti ili prijenosa datoteke ili otvaranja datoteke itd. Može se rukovati pomoću AutoIT-a uključivanjem datoteke skripte u Selenium.
U sljedećem ćemo poglavlju naučiti o drugom alatu treće strane pod nazivom Sikuli koji se koristi za automatizaciju aplikacija pomoću tehnike prepoznavanja slika.
=> Posjetite ovdje da biste naučili selen iz ogrebotina.
Preporučena literatura
- Kako postupati s upozorenjima / skočnim prozorima u programu Selenium WebDriver - Vodič za selenij br. 16
- Vodič za krastavac selenij: Integracija Java Selenium WebDriver krastavaca
- 10 glavnih izuzetaka selena i način postupanja s njima (točan kod)
- Uvod u Selenium WebDriver - Vodič za selen br. 8
- Vodič za AutoIt - Automatsko preuzimanje, instaliranje i osnovna skripta za AutoIt
- Vodič za ChromeDriver Selenium: Testovi Selenium Webdriver-a na Chromeu
- 30+ najboljih vodiča za selen: naučite selen na stvarnim primjerima
- Prilika za honorarno honorarno zapošljavanje stručnjaka za selen