how handle windows pop up selenium using autoit
In deze zelfstudie worden verschillende methoden uitgelegd om Windows Pop-up in Selenium af te handelen wanneer automatisering buiten het bereik valt met behulp van de AutoIT-tool:
AutoIT is een tool van derden die Selenium een helpende hand biedt bij het afhandelen van pop-ups zoals Windows Authentication pop-up, Flash-applicaties, Desktop-applicatie enzovoort.
Selenium is beperkt tot het automatiseren van alleen webapplicaties. In sommige gevallen kan er een Windows-pop-up verschijnen in de applicatie die Selenium niet aankan. Om dergelijke scenario's aan te kunnen, biedt AutoIT een helpende hand bij het automatiseren van Windows pop-up- en desktoptoepassingen.
Bezoek hier om de Selenium-trainingsserie voor iedereen te zien.
Wat je leert:
Overzicht van AutoIT Tool
Hier is een video-tutorial:
Behandel Windows Pop-up met AutoIT
AutoIT is een tool van derden die wordt gebruikt om Windows-gebaseerde applicaties te verwerken. De gebruikte scripttaal heet VBScript.AutoIt is ook een freeware. Het maakt gebruik van een combinatie vanmuisbewegingen en toetsenbordaanslagen om de acties te automatiseren die niet mogelijk zijn door de selenium-webdriver
AutoIt wordt gebruikt in .exe-indeling, zodat het kan worden gebruikt in het Selenium Automation-script.
Laten we eens kijken naar een voorbeeld, waarin we zouden moeten een bestand uploaden naar de applicatie.
Het scenario is om een profielfoto op LinkedIn te uploaden. De teststappen voor dit scenario zijn:
- URL invoeren
- Voer een geldige gebruikersnaam en wachtwoord in en log in.
- Klik op het uploadpictogram voor het profiel.
- Er verschijnt een Windows-pop-up waarin het pad om een afbeelding te uploaden wordt ingevoerd.
Tot stap 3 kan Selenium Automation het aan. Wanneer een Windows-pop-up verschijnt, wordt het AutoIT-script gebruikt om dat onderdeel te automatiseren.
Laten we nu eens kijken hoe we acties in het pop-upvenster van Windows kunnen automatiseren.
Dit kan op 4 verschillende manieren worden afgehandeld.
- Windows-opdrachten gebruiken om een bepaald bestand te uploaden.
- Besturingsopdrachten gebruiken om een bestand te uploaden.
- Gebruik het opdrachtregelargument om de bestandsnaam op te geven die moet worden geüpload.
- Met behulp van de AutoIT-opnametool.
Alle scripts worden gemaakt met AutoItScriptEditor, die beschikbaar is in het AutoIt-mappakket.
Navigeren naar AutoIt3> SciTE> SciTE.exe en open de ScriptEditor-toepassing.
# 1) Windows-opdrachten gebruiken
We hebben verschillende sets functies in AutoIt.
Je mag een kijkje nemen hier. Laten we nu eerst de acties analyseren om de pop-upacties van Windows te automatiseren. Waaronder:
- Stel de focus in op het huidige venster.
- Voer het pad van de bestandsnaam in om te uploaden in FileName Box.
- Klik op de knop Openen of druk op Enter op het toetsenbord.
Laten we de bovenstaande punten in detail begrijpen:
- Stel de focus in op het huidige venster
WinWaitActive : Stelt de focus van de cursor in op de opgegeven vensternaam. In dit geval is de titel van het venster ‘Openen’. Dus we specificeren het commando alsWinWaitActive ('Open').
Houd er rekening mee dat dezelfde Windows-titel voor elke browser verschilt.
Zeggen, voor Firefox , het is ‘Bestand uploaden’, dus het AutoIT-commando zal zijnWinWaitActive ('Bestand uploaden')
Voor IE, het is ‘Te uploaden bestand’ - dus het AutoIT-commando zal zijnWinWaitActive ('Te uploaden bestand')
Voor Chrome , het is ‘Open’ - dus het AutoIT-commando zal zijnWinWaitActive ('Open')
U moet de venstertitel specificeren op basis van de browser die u gebruikt voor automatisering.
2. Voer het pad van de bestandsnaam in om te uploaden in FileName Box
Sturen - verzendt toetsenbordaanslagen of met andere woorden, het simuleert toetsenbordacties.
Acties kunnen zijn: het drukken op de Enter-toets, de Shift-toets, enzovoort. OF typ een string, nummer, enz .. In dit voorbeeld moet ik de bestandsnaam typen, dus ik gebruik de opdracht om de bestandsnaam in het venster in te voeren.Verzenden ('D: passport.jpg')
3. Klik op de knop Openen of druk op Enter op het toetsenbord
Verzenden ({ENTER})- stuurt een ENTER-toetsaanslag naar het venster, dat op zijn beurt de uploadactie voltooit.
hoe u een waarde verwijdert uit een array java
Sla het gemaakte script op een willekeurige locatie op. Het wordt opgeslagen in .au3-indeling. Eenmaal opgeslagen, klikt u met de rechtermuisknop op het .au3-bestand en compileert u het.
Na compilatie wordt het geconverteerd naar het .exe-formaat (uitvoerbaar formaat). Dit bestand is wat we gebruiken in het Selenium-script.
Zodra het .exe-bestand is gemaakt, kunt u het bestand in het Selenium Automation-script gebruiken om de opdrachten erin uit te voeren
Runtime.getRuntime.exec ('specificeer autoIt exe bestandsnaam hier')
# 2) Besturingsopdrachten gebruiken
We hebben bepaalde besturingsopdrachten in AutoIT om acties uit te voeren. Hier is de lijst met besturingsopdrachten in AutoIT.
Laten we eens kijken hoe we hetzelfde scenario voor het uploaden van bestanden kunnen automatiseren met behulp van deze besturingsopdrachten van AutoIT.
Nu in orde Om de Windows-pop-up te automatiseren, moeten de onderstaande acties worden uitgevoerd:
- Stel de focus in op het huidige venster.
- Voer het pad van de bestandsnaam in om te uploaden in FileName Box.
- Klik op de knop Openen of druk op Enter op het toetsenbord.
Laten we de bovenstaande punten in detail begrijpen:
- Stel de focus in op het huidige venster
ControleFocus:Stelt focus in op het opgegeven element. In dit geval stellen we de focus op het tekstvak voor bewerken.
Als je naar de beschrijving kijkt, kun je zien dat er een of meer parameters voor nodig zijn. We kunnen deze parameters doorgeven met behulp van de Windows Info-tool van AutoIt.
Laten we open AutoIT-applicatie zoals hieronder:
De Windows Info-tool wordt geopend zoals hieronder:
Deze tool wordt gebruikt om elementen in de Windows-applicatie / pop-up te inspecteren.
Om verschillende attributen van elk element in de Windows-pop-up te krijgen, sleept u het ‘Finder’ -pictogram van de Windows Info Tool en klikt u op het element om de eigenschappen ervan weer te geven, zoals hieronder.
We hebben zijn eigenschappen weergegeven in de tool zoals weergegeven.
Voor het vak Bestandsnaam zijn de eigenschappen en de bijbehorende waarden:
- Titel - Open
- ClassName - Bewerken
- Instantie - 1
Met behulp van deze eigenschappen kunnen we de parameters voor de besturingsopdracht doorgeven.
Om nu de focus in te stellen op het vak Bestandsnaam, noemen we het commando ‘ControlFocus’ zoals hieronder:
- Syntaxis: ControlFocus ('titel', 'tekst', controlID)
- De ‘titel’ komt overeen met de titel die in de tool wordt weergegeven.
- Controle-ID is de combinatie van ClassName + Instance in tool
ControlFocus ('Open', '', 'Edit1')
Waar,
- Open - is de titel
- Edit1 - is de controlID (controlID = ClassName + Instance)
2. Voer het pad van de bestandsnaam in om te uploaden in FileName Box
ControlSetText - typ de tekst naar het element.
- Syntaxis: ControlSetText ('titel', 'tekst', controlID, 'nieuwe tekst' [, vlag = 0])
In ons geval hebben we de bestandsnaam in het tekstvak.
ControlSetText ('Open', '', 'Edit1', 'D: passport.jpg')
Waar,
- Open - is de titel
- Edit1 - is de controlID (controlID = ClassName + Instance)
- D: passport.jpg - is de bestandsnaam die moet worden geüpload
3. Klik op de knop Openen of druk op Enter op het toetsenbord
Controle Klik - voert een klikactie uit op het element. In dit voorbeeld klikken we op de knop ‘Openen’
- Syntaxis: ControlClick ('titel', 'tekst', controlID [, button = 'left' [, clicks = 1 [, x [, y]]]])
In ons geval zou het moeten klikken op de knop ‘Openen’ in het pop-upvenster van Windows.
ControlClick ('Open', '', 'Button1')
Waar,
- Open - is de titel
- Button1 - is de controlID (controlID = ClassName + Instance)
We noemen het .exe-bestand van Selenium-code met behulp van de opdracht-Runtime.getRuntime.exec ('specificeer autoIt exe bestandsnaam hier')
NOTITIE: Als we meerdere bestanden in één instantie moeten uploaden, kunnen we alle bestandsnamen in een variabele specificeren en de variabelenaam in de opdracht doorgeven.
ControlFocus - stelt focus in op het element.
$ files - is de gemaakte variabele en bevat de tekst / bestandsnaam die moet worden geüpload.
ControlSetText - geeft de variabele met de bestandsnamen die moeten worden geüpload door aan het element ‘Bewerken’.
ContolClick - voert een klikactie uit op het element.
# 3) Gebruik de opdrachtregel om de bestandsnaam op te geven die moet worden geüpload
Dezelfde procedure kan op een andere manier worden benaderd, waarbij de bestandsnaam wordt verkregen van de gebruiker. Dit wordt gedaan met behulp van de opdrachtregelbenadering.
In plaats van de bestandsnaam rechtstreeks in AutoIT op te geven, geven we deze door in de Selenium-code zoals hieronder:
AutoIT-script: (Upload.exe)
In selenium Code:
We specificeren het als:
In dit geval zal het zijn
Sla het gemaakte bestand op en compileer het om het naar een uitvoerbaar formaat te converteren.
# 4) De opnamefunctie van AutoIT gebruiken
Deze functie is alleen beschikbaar in versies lager dan 3.3.14.0. Versies groter dan dat ondersteunen deze functie niet.
Om de opnametool te openen, navigeert u naar AutoIt3> Extra's> Au3Record> Au3Record.exe
Als we dit gaan gebruiken, zorg er dan altijd voor dat je de optie ‘Record Mouse’ uitschakelt, aangezien de muisinteractie varieert voor elke schermresolutie. Neem altijd de toetsenbordaanslagen op.
Selecteer ‘Klik om op te nemen’ in de tool en de acties worden erin opgenomen.
Als u klaar bent met opnemen, selecteert u ‘Klik om te stoppen’ en slaat u het bestand op
U kunt het opgeslagen .au3-bestand openen om de opdrachten te zien die zijn gemaakt voor elke actie die u hebt uitgevoerd
Compileer het script en converteer het naar .exe-bestand.
Het gemaakte .exe-bestand kan direct in de Selenium-code worden gebruikt voor uitvoering zoals hieronder:
Gevolgtrekking
Dus elke Windows-pop-up zoals authenticatie of het uploaden van bestanden of het openen van bestanden enz. Kan worden afgehandeld met AutoIT door het scriptbestand op te nemen in Selenium.
In het volgende hoofdstuk zullen we leren over een andere tool van derden genaamd Sikuli die wordt gebruikt om toepassingen te automatiseren met behulp van de beeldherkenningstechniek.
Bezoek hier om Selenium van Scratch te leren.
Aanbevolen literatuur
- Omgaan met waarschuwingen / pop-ups in Selenium WebDriver - Selenium Tutorial # 16
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Top 10 Selenium-uitzonderingen en hoe hiermee om te gaan (exacte code)
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- AutoIt-zelfstudie - AutoIt downloaden, installeren en basis AutoIt-script
- ChromeDriver Selenium-zelfstudie: Selenium Webdriver-tests op Chrome
- 30+ beste selenium-zelfstudies: leer selenium met echte voorbeelden
- Parttime freelancen vacature voor seleniumexperts