how handle windows pop up selenium using autoit
Denne vejledning forklarer forskellige metoder til håndtering af pop op i Windows i selen, når automatisering går ud af rækkevidde ved hjælp af AutoIT-værktøjet:
AutoIT er et tredjepartsværktøj, der giver Selenium en hjælpende hånd til at håndtere pop op-vinduer som Windows Authentication pop-up, Flash-applikationer, Desktop-applikation og så videre.
Selen er kun begrænset til automatisering af webapplikationer. I nogle tilfælde vises en Windows-pop op i applikationen, som Selenium ikke kan håndtere. For at håndtere sådanne scenarier giver AutoIT en hjælpende hånd, hvor det tager sig af automatisering af Windows pop op og desktop applikationer.
=> Besøg her for at se Selenium-træningsserien for alle.
Hvad du lærer:
Oversigt over AutoIT Tool
Her er en videotutorial:
Håndter Windows Pop Up ved hjælp af AutoIT
AutoIT er et tredjepartsværktøj, der bruges til at håndtere Windows-baserede applikationer. Det anvendte scriptsprog kaldes VBScript.AutoIt er også et freeware. Det bruger en kombination afmusebevægelse og tastaturstrøg for at automatisere de handlinger, der ikke er mulige at udføre af selen webdriver.
AutoIt bruges i .exe-format, så det kan bruges i Selenium Automation-scriptet.
Lad os se på en eksempel, hvor vi skulle have brug for uploade en fil til ansøgningen.
Scenariet er at uploade et profilbillede på LinkedIn. Teststrinnene for dette scenarie er:
- Indtast URL
- Indtast et gyldigt brugernavn, adgangskode, og log ind.
- Klik på ikonet for profilupload.
- Windows pop op vises, hvor stien til at uploade et billede er indtastet.
Indtil trin 3 kan Selenium Automation klare det. Når Windows pop op vises, bruges AutoIT-scriptet til at automatisere den del.
Lad os nu se på, hvordan man automatiserer handlinger i Windows pop op?
Dette kan håndteres på 4 forskellige måder.
- Brug af Windows-kommandoer til at uploade en bestemt fil.
- Brug kontrolkommandoer til at uploade en fil.
- Brug kommandolinjeargumentet til at specificere det filnavn, der skal uploades.
- Brug af AutoIT-registreringsværktøjet.
Alle scripts oprettes ved hjælp af AutoItScriptEditor, som er tilgængelig i AutoIt-mappepakken.
Naviger til AutoIt3> SciTE> SciTE.exe og åbn ScriptEditor-applikationen.
# 1) Brug af Windows-kommandoer
Vi har forskellige sæt funktioner i AutoIt.
Du kan se her. Nu for at automatisere Windows pop op-handlinger, lad os først analysere handlingerne. Disse inkluderer:
- Indstil fokus til det aktuelle vindue.
- Indtast stien til filnavnet, der skal uploades i FileName Box.
- Klik på knappen Åbn eller tryk på Enter på tastaturet.
Lad os forstå ovenstående punkter i detaljer:
- Indstil fokus til det aktuelle vindue
WinWaitActive : Indstiller markørens fokus til det angivne vinduesnavn. I dette tilfælde er vinduets titel 'Åbn'. Så vi specificerer kommandoen somWinWaitActive (“Åben”).
Bemærk, at den samme Windows-titel er forskellig for hver browser.
Sige, til Firefox , det er 'File Upload', - Så AutoIT-kommandoen vil væreWinWaitActive (“File Upload”).
For IE, det er 'File To Upload' - Så AutoIT-kommandoen vil væreWinWaitActive ('Fil, der skal uploades')
Til Chrome , det er 'Åben' - Så AutoIT-kommandoen vil væreWinWaitActive (“Åben”)
Du skal angive vinduetitlen baseret på den browser, du bruger til automatisering.
to. Indtast stien til filnavnet, der skal uploades i FileName Box
Sende - sender tastaturstreg eller med andre ord, det simulerer tastaturhandlinger.
Handlinger kan muligvis trykke på Enter-tasten, Skift-tasten, osv. ELLER at skrive en streng, et nummer osv. I dette eksempel skal jeg skrive filnavnet, så jeg bruger kommandoen til at indtaste filnavnet i vinduet. -Send (“D: passport.jpg”)
3. Klik på knappen Åbn eller tryk på Enter på tastaturet
Send ({ENTER})- sender ENTER tastetryk til vinduet, hvilket igen fuldfører handlingen med upload.
automatiseringstest interview spørgsmål og svar til erfarne
Gem scriptet, der er oprettet, hvor som helst. Det gemmes i .au3-format. Når du er gemt, skal du højreklikke på .au3-filen og kompilere den.
Efter kompilering bliver det konverteret til .exe-format (eksekverbart format). Denne fil er det, vi bruger i Selenium-scriptet.
Når .exe-filen er oprettet, kan du bruge filen i Selenium Automation-scriptet til at køre kommandoerne i den
Runtime.getRuntime.exec (“angiv autoIt exe filnavn her”)
# 2) Brug af kontrolkommandoer
Vi har visse kontrolkommandoer i AutoIT til at udføre handlinger. Her er listen over kontrolkommandoer i AutoIT.
Lad os se, hvordan man automatiserer det samme filupload-scenarie ved hjælp af disse kontrolkommandoer fra AutoIT.
Nu i orden for at automatisere Windows pop op, skal nedenstående handlinger udføres:
- Indstil fokus til det aktuelle vindue.
- Indtast stien til filnavnet, der skal uploades i FileName Box.
- Klik på knappen Åbn eller tryk på Enter på tastaturet.
Lad os forstå ovenstående punkter i detaljer:
- Indstil fokus til det aktuelle vindue
ControlFocus:Indstiller fokus til det angivne element. I dette tilfælde sætter vi fokus på rediger tekstfeltet.
Når du ser på beskrivelsen, kan du se, at den kræver en eller flere parametre. Vi kan videregive disse parametre ved hjælp af Windows Info-værktøjet til AutoIt.
Lad os åbn AutoIT-applikationen som nedenfor:
Windows Info-værktøjet åbnes som nedenfor:
Dette værktøj bruges til at inspicere elementer i Windows-applikationen / pop op.
For at få forskellige attributter for hvert element i Windows pop op, træk 'Finder' ikonet i Windows Info Tool og klik på elementet for at få vist dets egenskaber som nedenfor.
Vi har dets egenskaber vist i værktøjet som vist.
For feltet Filnavn er egenskaberne og dens tilsvarende værdier:
- Titel - Åben
- ClassName - Rediger
- Forekomst - 1
Ved hjælp af disse egenskaber kan vi videregive parametrene til kontrolkommandoen.
For at indstille fokus til feltet Filnavn kalder vi kommandoen 'ControlFocus' som nedenfor:
- Syntaks: ControlFocus ('titel', 'tekst', controlID)
- 'Titlen' svarer til den titel, der vises i værktøjet.
- Kontrol-id er kombinationen af ClassName + Instance i værktøjet
ControlFocus ('Åbn', '', 'Rediger1')
Hvor,
- Åben - er titlen
- Edit1 - er controlID (controlID = ClassName + Instance)
to. Indtast stien til filnavnet, der skal uploades i FileName Box
ControlSetText - indtaster teksten til elementet.
- Syntaks: ControlSetText (“titel”, “tekst”, controlID, “ny tekst” (, flag = 0))
I vores tilfælde har vi filnavnet i tekstboksen.
ControlSetText ('Åbn', '', 'Rediger1', 'D: pasport.jpg')
Hvor,
- Åben - er titlen
- Edit1 - er controlID (controlID = ClassName + Instance)
- D: passport.jpg - er det filnavn, der skal uploades
3. Klik på knappen Åbn eller tryk på Enter på tastaturet
KontrolKlik - udfører en klikhandling på elementet. I dette eksempel udfører vi klik på knappen 'Åbn'
- Syntaks: ControlClick (“title”, “text”, controlID (, button = “left” (, click = 1 (, x (, y)))))
I vores tilfælde skal det klikke på knappen 'Åbn' på Windows pop op.
ControlClick ('Åbn', '', 'Button1')
Hvor,
- Åben - er titlen
- Button1 - er controlID (controlID = ClassName + Instance)
Vi kalder .exe-filen fra Selenium-kode ved hjælp af kommandoen-Runtime.getRuntime.exec (“angiv autoIt exe filnavn her”)
BEMÆRK: Når vi skal uploade flere filer på en enkelt forekomst, kan vi angive alle filnavne i en variabel og videregive variabelnavnet i kommandoen.
ControlFocus - indstiller fokus til elementet.
$ filer - er den oprettede variabel, og den indeholder teksten / filnavnet, der skal uploades.
ControlSetText - sender variablen, der har filnavne, der skal uploades til elementet 'Rediger'.
ContolClick - udfører en klikhandling på elementet.
# 3) Brug af kommandolinjen til at specificere det filnavn, der skal uploades
Den samme procedure kan tilgås på en anden måde, hvor filnavnet opnås fra brugeren. Dette gøres ved hjælp af kommandolinjemetoden.
I stedet for direkte at angive filnavnet i AutoIT, sender vi det i Selenium-koden som nedenfor:
AutoIT Script: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
I selenkode:
Vi specificerer det som:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
I dette tilfælde vil det være
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Gem den oprettede fil, og kompiler den for at konvertere den til eksekverbart format.
# 4) Brug af Record Feature af AutoIT
Denne funktion er kun tilgængelig i versioner under 3.3.14.0. Versioner, der er større end dette, understøtter ikke denne funktion.
For at åbne Record-værktøjet skal du navigere til AutoIt3> Ekstra> Au3Record> Au3Record.exe
Når vi begynder at bruge dette, skal du altid sørge for at fravælge indstillingen 'Optag mus', da musens interaktion varierer for hver skærmopløsning. Optag altid tastaturstregene.
Vælg 'Klik for at optage' i værktøjet, og handlingerne registreres i det.
Når du er færdig med at optage, skal du vælge 'Klik for at stoppe' og gemme filen
Du kan åbne .au3-filen, der er gemt, for at se de kommandoer, der er oprettet for hver handling, du udførte
Kompiler scriptet og konverter det til .exe-fil.
Den oprettede .exe-fil kan bruges direkte i Selenium-koden til udførelse som nedenfor:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Konklusion
Således kan enhver Windows-pop op som godkendelse eller upload af filer eller åbne filer osv. Håndteres ved hjælp af AutoIT ved at inkludere dets scriptfil i Selenium.
I det næste kapitel lærer vi om et andet tredjepartsværktøj kaldet Sikuli, der bruges til at automatisere applikationer ved hjælp af billedgenkendelsesteknikken.
=> Besøg her for at lære selen fra bunden.
Anbefalet læsning
- Sådan håndteres alarmer / pop op i Selen WebDriver - Selen Tutorial # 16
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Top 10 selenundtagelser og hvordan man håndterer disse (nøjagtig kode)
- Introduktion til Selen WebDriver - Selen Tutorial # 8
- AutoIt-vejledning - AutoIt-download, installation og grundlæggende AutoIt-script
- ChromeDriver Selen Tutorial: Selen Webdriver Tests på Chrome
- 30+ bedste selen-tutorials: Lær selen med rigtige eksempler
- Deltids freelancing jobmulighed for seleneksperter