how handle windows pop up selenium using autoit
Denne opplæringen forklarer forskjellige metoder for å håndtere vinduer som dukker opp i selen når automatisering går utenfor omfanget ved hjelp av AutoIT-verktøyet:
AutoIT er et tredjepartsverktøy som gir Selenium en hjelpende hånd til å håndtere popup-vinduer som Windows Authentication pop-up, Flash-applikasjoner, Desktop-applikasjon og så videre.
Selen er begrenset til å automatisere nettapplikasjoner. I noen tilfeller kan det vises en Windows-popup i applikasjonen som Selenium ikke kan håndtere. For å håndtere slike scenarier, gir AutoIT en hjelpende hånd der den tar seg av automatisering av Windows pop up- og desktop-applikasjoner.
=> Besøk her for å se Selenium Training Series for All.
Hva du vil lære:
Oversikt over AutoIT Tool
Her er en videoopplæring:
Håndter Windows Pop Up ved hjelp av AutoIT
AutoIT er et tredjepartsverktøy som brukes til å håndtere Windows-baserte applikasjoner. Skriptspråket som brukes kalles VBScript.AutoIt er også et gratisprogram. Den bruker en kombinasjon avmusebevegelse og tastaturstrekk for å automatisere handlingene som ikke er mulig å utføre av selen webdriver.
AutoIt brukes i .exe-format slik at det kan brukes i Selenium Automation-skriptet.
La oss se på en eksempel, hvor vi ville trenge Last opp en fil til søknaden.
Scenariet er å laste opp et profilbilde på LinkedIn. Teststrinnene for dette scenariet er:
- Skriv inn URL
- Skriv inn et gyldig brukernavn, passord og logg inn.
- Klikk på ikonet for profilopplasting.
- Windows-popup vises der banen for å laste opp et bilde er angitt.
Inntil trinn 3 kan Selenium Automation takle det. Når Windows dukker opp, brukes AutoIT-skriptet til å automatisere den delen.
La oss nå se på hvordan du automatiserer handlinger i Windows dukker opp?
Dette kan håndteres på 4 forskjellige måter.
- Bruke Windows Commands til å laste opp en bestemt fil.
- Bruke kontrollkommandoer for å laste opp en fil.
- Bruk kommandolinjeargumentet til å spesifisere filnavnet som skal lastes opp.
- Bruke AutoIT-registreringsverktøyet.
Alle skriptene er opprettet ved hjelp av AutoItScriptEditor, som er tilgjengelig i AutoIt-mappepakken.
Navigere til AutoIt3> SciTE> SciTE.exe og åpne ScriptEditor-applikasjonen.
# 1) Bruke Windows-kommandoer
Vi har forskjellige sett med funksjoner i AutoIt.
Du kan ta en titt her. Nå for å automatisere Windows pop-up-handlinger, kan vi først analysere handlingene. Disse inkluderer:
- Sett fokus til gjeldende vindu.
- Skriv inn banen til filnavnet som skal lastes opp i FileName-boksen.
- Klikk på Åpne-knappen eller Trykk Enter på tastaturet.
La oss forstå de ovennevnte punktene i detalj:
- Sett fokus til gjeldende vindu
WinWaitActive : Angir fokus for markøren til det spesifiserte vindusnavnet. I dette tilfellet er tittelen på vinduet 'Åpne'. Så vi spesifiserer kommandoen somWinWaitActive (“Åpen”).
Vær oppmerksom på at den samme Windows-tittelen er forskjellig for hver nettleser.
Si, for Firefox , det er 'File Upload', - Så AutoIT-kommandoen vil væreWinWaitActive ('Filopplasting').
For IE, det er 'File To Upload' - Slik vil AutoIT-kommandoen væreWinWaitActive (“Fil for å laste opp”)
For Chrome , det er 'Åpent' - Så AutoIT-kommandoen vil væreWinWaitActive (“Åpen”)
Du bør spesifisere vinduetittelen basert på nettleseren du bruker til automatisering.
to. Skriv inn banen til filnavnet som skal lastes opp i FileName-boksen
Sende - sender tastaturstrøk eller med andre ord, det simulerer tastaturhandlinger.
Handlinger kan være å trykke på Enter-tasten, Skift-tasten, så videre. ELLER å skrive en streng, nummer osv. I dette eksemplet må jeg skrive inn filnavnet, så jeg bruker kommandoen til å skrive inn filnavnet i vinduet. -Send (“D: passport.jpg”)
3. Klikk på Åpne-knappen eller Trykk Enter på tastaturet
Send ({ENTER})- sender ENTER tastetrykk til vinduet, som igjen fullfører handlingen med opplasting.
Linux finner forskjell mellom to filer
Lagre skriptet som er opprettet hvor som helst. Den blir lagret i .au3-format. Når du er lagret, høyreklikker du .au3-filen og kompilerer den.
Etter kompilering blir den konvertert til .exe-format (kjørbart format). Denne filen er det vi bruker i Selenium-skriptet.
Når .exe-filen er opprettet, kan du bruke filen i Selenium Automation-skriptet til å kjøre kommandoene i den.
Runtime.getRuntime.exec (“spesifiser autoIt exe filnavn her”)
# 2) Bruke kontrollkommandoer
Vi har visse kontrollkommandoer i AutoIT for å utføre handlinger. Her er listen over kontrollkommandoer i AutoIT.
La oss se hvordan du automatiserer det samme filopplastingsscenariet ved hjelp av disse kontrollkommandoene til AutoIT.
Nå, i orden For å automatisere Windows pop-up, må du utføre følgende handlinger:
- Sett fokus til gjeldende vindu.
- Skriv inn banen til filnavnet som skal lastes opp i FileName-boksen.
- Klikk på Åpne-knappen eller Trykk Enter på tastaturet.
La oss forstå punktene ovenfor i detaljer:
- Sett fokus til gjeldende vindu
ControlFocus:Setter fokus til det angitte elementet. I dette tilfellet setter vi fokus på redigeringsboksen.
Når du ser på beskrivelsen, kan du se at den krever en eller flere parametere. Vi kan overføre disse parametrene ved å bruke Windows Info-verktøyet til AutoIt.
La oss åpne AutoIT-applikasjonen som nedenfor:
Windows Info-verktøyet åpnes som nedenfor:
Dette verktøyet brukes til å inspisere elementer i Windows-applikasjonen / pop-up.
For å få forskjellige attributter for hvert element i Windows dukker opp, drar du 'Finder' -ikonet til Windows Info Tool og klikker på elementet for å vise egenskapene som vist nedenfor.
Vi har dets egenskaper vist i verktøyet som vist.
For Filnavn-boksen er egenskapene og tilhørende verdier:
- Tittel - Åpen
- ClassName - Rediger
- Forekomst - 1
Ved å bruke disse egenskapene kan vi overføre parametrene for kontrollkommandoen.
Nå, for å sette fokus på FileName-boksen, kaller vi kommandoen 'ControlFocus' som nedenfor:
- Syntaks: ControlFocus (“tittel”, “tekst”, controlID)
- ‘Tittelen’ tilsvarer tittelen som vises i verktøyet.
- Kontroll-ID er kombinasjonen av ClassName + Instance i verktøyet
ControlFocus ('Åpne', '', 'Rediger1')
Hvor,
- Åpen - er tittelen
- Edit1 - er controlID (controlID = ClassName + Instance)
to. Skriv inn banen til filnavnet som skal lastes opp i FileName-boksen
ControlSetText - skriver inn teksten til elementet.
- Syntaks: ControlSetText (“title”, “text”, controlID, “new text” (, flag = 0))
I vårt tilfelle har vi filnavnet i tekstboksen.
ControlSetText (“Åpne”, ””, ”Rediger1”, “D: passport.jpg”)
Hvor,
- Åpen - er tittelen
- Edit1 - er controlID (controlID = ClassName + Instance)
- D: passport.jpg - er filnavnet du skal laste opp
3. Klikk på Åpne-knappen eller Trykk Enter på tastaturet
KontrollKlikk - utfører en klikkhandling på elementet. I dette eksemplet utfører vi klikk på 'Åpne' -knappen
- Syntaks: ControlClick (“title”, “text”, controlID (, button = “left” (, click = 1 (, x (, y)))))
I vårt tilfelle skal det klikke på 'Åpne' -knappen på Windows.
ControlClick ('Åpne', '', 'Knapp1')
Hvor,
- Åpen - er tittelen
- Button1 - er controlID (controlID = ClassName + Instance)
Vi kaller .exe-filen fra Selenium-kode ved hjelp av kommandoen-Runtime.getRuntime.exec (“spesifiser autoIt exe filnavn her”)
MERK: Når vi må laste opp flere filer på en enkelt forekomst, kan vi spesifisere alle filnavnene i en variabel og sende variabelnavnet i kommandoen.
ControlFocus - setter fokus på elementet.
$ files - er variabelen som er opprettet og den inneholder teksten / filnavnet som skal lastes opp.
ControlSetText - sender variabelen som har filnavnene som skal lastes opp til elementet 'Edit'.
ContolClick - utfører en klikkhandling på elementet.
# 3) Bruk kommandolinjen til å spesifisere filnavnet som skal lastes opp
Den samme prosedyren kan tilnærmes på en annen måte der filnavnet er hentet fra brukeren. Dette gjøres ved hjelp av kommandolinjemetoden.
I stedet for direkte å spesifisere filnavnet i AutoIT, sender vi det i Selen-koden som nedenfor:
AutoIT-skript: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
I selenkode:
Vi spesifiserer det som:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
I dette tilfellet vil det være det
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Lagre filen som er opprettet, og kompiler den for å konvertere den til kjørbart format.
# 4) Bruke Record Feature av AutoIT
Denne funksjonen er bare tilgjengelig i versjoner under 3.3.14.0. Versjoner som er større enn det, støtter ikke denne funksjonen.
For å åpne Record-verktøyet, naviger til AutoIt3> Ekstra> Au3Record> Au3Record.exe
Når vi begynner å bruke dette, må du alltid sørge for å fjerne merket for 'Record Mouse' -alternativet siden musesamspillet varierer for hver skjermoppløsning. Ta alltid opp tastaturstrøkene.
Velg 'Click to Record' i verktøyet, og handlingene blir registrert i det.
Når du er ferdig med innspillingen, velger du 'Klikk for å stoppe' og lagrer filen
Du kan åpne .au3-filen som er lagret for å se kommandoene som er opprettet for hver handling du utførte
Kompiler skriptet og konverter det til .exe-fil.
.Exe-filen som er opprettet, kan brukes direkte i Selenium-koden for utføring som nedenfor:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Konklusjon
Dermed kan hvilken som helst Windows dukke opp som autentisering eller filopplasting eller åpen fil etc. håndteres ved hjelp av AutoIT ved å inkludere skriptfilen i Selenium.
I neste kapittel vil vi lære om et annet tredjepartsverktøy som heter Sikuli, som brukes til å automatisere applikasjoner ved hjelp av bildegjenkjenningsteknikken.
=> Besøk her for å lære selen fra grunnen.
Anbefalt lesing
- Hvordan håndtere varsler / popup-vinduer i Selen WebDriver - Selen-opplæring nr. 16
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Topp 10 selen unntak og hvordan du håndterer disse (nøyaktig kode)
- Introduksjon til Selenium WebDriver - Selenium Tutorial # 8
- AutoIt Tutorial - AutoIt Last ned, installer og grunnleggende AutoIt-skript
- ChromeDriver Selenium Tutorial: Selenium Webdriver Tests on Chrome
- 30+ beste selenopplæringsprogrammer: Lær selen med virkelige eksempler
- Deltids-frilansende jobbmulighet for seleneksperter