how handle windows pop up selenium using autoit
Questo tutorial spiega vari metodi per gestire i popup di Windows in selenio ogni volta che l'automazione esce dall'ambito utilizzando lo strumento AutoIT:
AutoIT è uno strumento di terze parti che offre a Selenium una mano per gestire i popup come i popup di autenticazione di Windows, le applicazioni Flash, l'applicazione desktop e così via.
Il selenio è limitato ad automatizzare solo le applicazioni web. In alcuni casi, nell'applicazione potrebbe apparire un popup di Windows che Selenium non è in grado di gestire. Per gestire tali scenari, AutoIT dà una mano in cui si occupa di automatizzare le applicazioni desktop e popup di Windows.
=> Visita qui per vedere la serie di formazione sul selenio per tutti.
Cosa imparerai:
Panoramica dello strumento AutoIT
Ecco un video tutorial:
Gestisci i popup di Windows utilizzando AutoIT
AutoIT è uno strumento di terze parti utilizzato per gestire le applicazioni basate su Windows. Il linguaggio di scripting utilizzato è chiamato VBScript.AutoIt è anche un freeware. Utilizza una combinazione dimovimento del mouse e colpi della tastiera per automatizzare le azioni che non possono essere eseguite dal driver web selenium.
AutoIt viene utilizzato in formato .exe in modo che possa essere utilizzato nello script Selenium Automation.
Diamo un'occhiata a un esempio, in cui avremmo bisogno di caricare un file all'applicazione.
Lo scenario è caricare un'immagine del profilo su LinkedIn. I passaggi del test per questo scenario sono:
- Immettere l'URL
- Immettere un nome utente e una password validi e accedere.
- Fare clic sull'icona di caricamento del profilo.
- Viene visualizzato un popup di Windows in cui viene immesso il percorso per caricare un'immagine.
Fino al passaggio 3, Selenium Automation può gestirlo. Quando viene visualizzato il popup di Windows, lo script AutoIT viene utilizzato per automatizzare quella parte.
Ora, diamo un'occhiata a come automatizzare le azioni nel popup di Windows?
Questo può essere gestito in 4 modi diversi.
- Utilizzo dei comandi di Windows per caricare un particolare file.
- Utilizzo dei comandi di controllo per caricare un file.
- Utilizzo dell'argomento della riga di comando per specificare il FileName da caricare.
- Utilizzando lo strumento di registrazione AutoIT.
Tutti gli script vengono creati utilizzando AutoItScriptEditor, disponibile nel pacchetto della cartella AutoIt.
Navigare verso AutoIt3> SciTE> SciTE.exe e apri l'applicazione ScriptEditor.

# 1) Utilizzo dei comandi di Windows
Abbiamo vari set di funzioni in AutoIt.
Puoi dare un'occhiata Qui. Ora, per automatizzare le azioni popup di Windows, analizziamo prima le azioni. Questi includono:
- Imposta lo stato attivo sulla finestra corrente.
- Immettere il percorso del nome del file da caricare nella casella FileName.
- Fare clic sul pulsante Apri o premere Invio sulla tastiera.

Comprendiamo i punti precedenti in dettaglio:
- Imposta lo stato attivo sulla finestra corrente
WinWaitActive : Imposta il focus del cursore sul nome della finestra specificato. In questo caso, il titolo della finestra è 'Apri'. Quindi specifichiamo il comando comeWinWaitActive ('Apri').
Tieni presente che lo stesso titolo di Windows è diverso per ogni browser.
Dire, per Firefox , è 'Caricamento file', quindi il comando AutoIT saràWinWaitActive ('Caricamento file').
Per IE, è 'File da caricare', quindi il comando AutoIT saràWinWaitActive ('File da caricare')
Per Chrome , è 'Apri', quindi il comando AutoIT saràWinWaitActive ('Apri')
È necessario specificare il titolo della finestra in base al browser utilizzato per l'automazione.
2. Immettere il percorso del nome del file da caricare nella casella FileName
Spedire - invia i colpi della tastiera o, in altre parole, simula le azioni della tastiera.
Le azioni potrebbero essere premendo il tasto Invio, il tasto Maiusc e così via. OPPURE digitando una stringa, un numero, ecc. In questo esempio, devo digitare il fileName, quindi utilizzo il comando per inserire il nome del file nella finestra. -Invia ('D: passport.jpg')
3. Fare clic sul pulsante Apri o premere Invio sulla tastiera
Invia ({ENTER})- invia la sequenza di tasti INVIO alla finestra, che a sua volta completa l'azione di caricamento.
qual è la differenza tra linux e unix
Salva lo script creato in qualsiasi posizione. Verrà salvato in formato .au3. Una volta salvato, fai clic con il pulsante destro del mouse sul file .au3 e compilarlo.

Dopo la compilazione, viene convertito in formato .exe (formato eseguibile). Questo file è quello che usiamo nello script Selenium.

Una volta creato il file .exe, è possibile utilizzare il file nello script Selenium Automation per eseguire i comandi al suo interno
Runtime.getRuntime.exec ('specificare qui il nome del file exe autoIt')

# 2) Utilizzo dei comandi di controllo
Abbiamo alcuni comandi di controllo in AutoIT per eseguire azioni. Ecco l'elenco dei comandi di controllo in AutoIT.

Vediamo come automatizzare lo stesso scenario di caricamento dei file utilizzando questi comandi di controllo di AutoIT.
Adesso, in ordine per automatizzare il popup di Windows, è necessario eseguire le seguenti azioni:
- Imposta lo stato attivo sulla finestra corrente.
- Immettere il percorso del nome del file da caricare nella casella FileName.
- Fare clic sul pulsante Apri o premere Invio sulla tastiera.
Comprendiamo i punti precedenti in dettaglio:
- Imposta lo stato attivo sulla finestra corrente
ControlFocus:Imposta lo stato attivo sull'elemento specificato. In questo caso, impostiamo lo stato attivo sulla casella di testo di modifica.

Quando guardi la sua descrizione, puoi vedere che richiede uno o più parametri. Possiamo passare questi parametri utilizzando lo strumento Windows Info di AutoIt.
Let's apri l'applicazione AutoIT come di seguito:

Lo strumento Windows Info viene aperto come di seguito:

Questo strumento viene utilizzato per ispezionare elementi nell'applicazione / popup di Windows.
Per ottenere vari attributi di ogni elemento nel popup di Windows, trascina l'icona 'Finder' dello strumento di informazioni di Windows e fai clic sull'elemento per visualizzarne le proprietà come di seguito.

Abbiamo le sue proprietà visualizzate nello strumento come mostrato.
Per la casella FileName, le proprietà e i valori corrispondenti sono:
- Titolo: aperto
- ClassName - Modifica
- Istanza - 1
Utilizzando queste proprietà, possiamo passare i parametri per il comando di controllo.
Ora, per impostare lo stato attivo sulla casella FileName, chiamiamo il comando 'ControlFocus' come di seguito:
- Sintassi: ControlFocus ('titolo', 'testo', controlID)
- Il 'titolo' corrisponde al titolo visualizzato nello strumento.
- Control Id è la combinazione di ClassName + Instance nello strumento
ControlFocus ('Apri', '', 'Modifica1')
Dove,
- Open - è il titolo
- Edit1 - è il controlID (controlID = ClassName + Instance)
2. Immettere il percorso del nome del file da caricare nella casella FileName
ControlSetText: digita il testo nell'elemento.
- Sintassi: ControlSetText ('title', 'text', controlID, 'new text' (, flag = 0))

Nel nostro caso, abbiamo il nome del file nella casella di testo.
ControlSetText ('Open', '', 'Edit1', 'D: passport.jpg')
Dove,
- Open - è il titolo
- Edit1 - è il controlID (controlID = ClassName + Instance)
- D: passport.jpg - è il nome del file da caricare
3. Fare clic sul pulsante Apri o premere Invio sulla tastiera
ControlClick - esegue un'azione di clic sull'elemento. In questo esempio, eseguiamo clic sul pulsante 'Apri'
- Sintassi: ControlClick ('title', 'text', controlID (, button = 'left' (, clicks = 1 (, x (, y)))))

Nel nostro caso, dovrebbe fare clic sul pulsante 'Apri' nel popup di Windows.
ControlClick ('Open', '', 'Button1')
Dove,
- Open - è il titolo
- Button1 - è il controlID (controlID = ClassName + Instance)
Chiamiamo il file .exe dal codice Selenium usando il comando-Runtime.getRuntime.exec ('specificare qui il nome del file exe autoIt')

NOTA: Quando dobbiamo caricare più file in una singola istanza, possiamo specificare tutti i nomi di file in una variabile e passare il nome della variabile nel comando.

ControlFocus: imposta lo stato attivo sull'elemento.
$ files - è la variabile creata e contiene il testo / nome del file da caricare.
ControlSetText: passa la variabile con i nomi dei file da caricare all'elemento 'Modifica'.
ContolClick: esegue un'azione di clic sull'elemento.
# 3) Utilizzo della riga di comando per specificare il nome del file da caricare
La stessa procedura può essere affrontata in un modo diverso in cui il nome del file è ottenuto dall'utente. Questo viene fatto utilizzando l'approccio della riga di comando.

Invece di specificare direttamente il nome del file in AutoIT, lo passiamo nel codice Selenium come di seguito:
Script AutoIT: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)In selenio Codice:
Lo specifichiamo come:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)In questo caso, lo sarà
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)Salvare il file creato e compilarlo per convertirlo in formato eseguibile.
# 4) Utilizzo della funzione di registrazione di AutoIT
Questa funzione è disponibile solo nelle versioni precedenti alla 3.3.14.0. Le versioni superiori a quella non supportano questa funzione.
Per aprire lo strumento di registrazione, vai su AutoIt3> Extra> Au3Record> Au3Record.exe

Quando iniziamo a utilizzarlo, assicurati sempre di deselezionare l'opzione 'Registra mouse' poiché l'interazione del mouse varia a seconda della risoluzione dello schermo. Registra sempre i colpi della tastiera.
Seleziona 'Fai clic per registrare' nello strumento e le azioni vengono registrate in esso. 
Al termine della registrazione, seleziona 'Click to Stop' e salva il file
È possibile aprire il file .au3 salvato per visualizzare i comandi creati per ciascuna azione eseguita

Compila lo script e convertilo in file .exe.
Il file .exe creato può essere utilizzato direttamente nel codice Selenium per l'esecuzione come di seguito:
Runtime.getRuntime.exec(“D:automationRecord.exe”)Conclusione
Pertanto, qualsiasi pop-up di Windows come autenticazione o caricamento di file o file aperto ecc. Può essere gestito utilizzando AutoIT includendo il suo file di script in Selenium.
Nel prossimo capitolo, impareremo a conoscere un altro strumento di terze parti chiamato Sikuli che viene utilizzato per automatizzare le applicazioni utilizzando la tecnica di riconoscimento delle immagini.
=> Visita qui per imparare il selenio da zero.
Lettura consigliata
- Come gestire gli avvisi / popup in Selenium WebDriver - Selenium Tutorial # 16
- Esercitazione sul selenio di cetriolo: integrazione del driver Web di selenio Java di cetriolo
- Le 10 migliori eccezioni al selenio e come gestirle (codice esatto)
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Tutorial AutoIt - Download, installazione e script AutoIt di base di AutoIt
- Tutorial ChromeDriver Selenium: test Webdriver Selenium su Chrome
- 30+ Migliori tutorial sul selenio: impara il selenio con esempi reali
- Opportunità di lavoro freelance part-time per esperti di selenio