AutoIT in Selenium Tutorial: come usarlo?

โšก Riepilogo intelligente

AutoIt in Selenium รจ un linguaggio di scripting freeware che automatizza Windows finestre di dialogo GUI e popup nativi che Selenium WebDriver non puรฒ esercitare un controllo diretto, il che lo rende lo strumento ideale per caricare e scaricare file e per gestire le richieste di autenticazione.

  • ๐Ÿค– Scopo: AutoIt estende Selenium mediante la gestione Windowscontrolli basati su HTML, finestre di dialogo native e popup non HTML che i localizzatori di WebDriver non possono raggiungere.
  • ๐ŸชŸ Identificatore dell'elemento: Lo strumento Au3Info analizza i controlli delle finestre ed espone gli attributi title, class e instance utilizzati per creare script che garantiscano interazioni affidabili.
  • โš™๏ธ Metodi principali: ControlFocus, ControlSetText e ControlClick costituiscono il set minimo necessario per compilare i percorsi e inviare le finestre di dialogo native per il caricamento dei file.
  • โœ… Integrazione: Un FileUpload.exe compilato viene attivato da Selenium Con Runtime.getRuntime().exec(), il controllo viene passato ad AutoIt e viceversa senza interruzioni.
  • ๐Ÿงช Uso pratico: La procedura guidata carica un curriculum su GuruModulo demo 99, verifica end-to-end Selenium oltre al flusso di automazione AutoIt.

AutoIT in Selenium

In cosa consiste AutoIt Selenium?

AutoIt รจ un linguaggio di scripting freeware progettato per automatizzare Windows GUI e scripting generale. Utilizza una combinazione di movimento del mouse, pressione di tasti e manipolazione del controllo della finestra per automatizzare un'attivitร  che non รจ possibile tramite Selenium WebDriver.

Come scaricare e installare AutoIt

Passo 1) Vai a questo collegamento.

Passo 2) Passa il mouse sopra "AutoIt" โ€‹โ€‹e il menu a tendina "AutoIt Editor".

Scarica e installa AutoIt

Passo 3) Fai clic sull'opzione Download di 'AutoIt'.

Scarica e installa AutoIt

Passo 4) Scarica โ€œAutoItโ€ cliccando sul pulsante โ€œScarica AutoItโ€.

Scarica e installa AutoIt

Passo 5) Ora scarica "AutoIt editor" cliccando sul pulsante "Download".

Scarica e installa AutoIt

Passo 6) Fare clic sul collegamento come mostrato di seguito.

Scarica e installa AutoIt

Dopo il download otterrai due file di installazione come mostrato nella schermata seguente, il primo รจ AutoIt versione 3 installazione e il secondo รจ Scitautoit3.

Scarica e installa AutoIt

Passo 7) Per installare AutoIt, fai clic su entrambi i programmi di installazione di AutoIt uno alla volta.

Passo 8) Dopo l'installazione completata con successo, apri AutoIt Editor.

Vai su 'C:\Programmi (x86)\AutoIt3\SciTE'

Scarica e installa AutoIt

Fai clic sul file 'SciTE.exe'; si aprirร  l'editor AutoIt, come mostrato nella schermata sottostante.

Scarica e installa AutoIt

Passo 9) Ora apri l'identificatore dell'elemento.

Vai alla cartella 'C:\Program Files (x86)\AutoIt3'

Scarica e installa AutoIt

E cliccando sul file 'Au3Info.exe', si aprirร  l'identificatore dell'elemento come mostrato nella schermata sottostante.

Scarica e installa AutoIt

Nota: Una volta terminato l'utilizzo di questo identificatore di elemento, รจ necessario chiuderlo manualmente; non si chiuderร  automaticamente.

Come usare AutoIt in Selenium

In questo, vedremo come utilizzare l'editor AutoIt e come trovare un elemento nella finestra di caricamento file tramite AutoIt Element Identifier (l'identificatore di elementi รจ uno strumento come Selenium IDE; l'identificatore trova l'elemento della finestra GUI o dei popup non HTML e fornisce l'attributo dell'elemento come titolo, classe, esempioe come scrivere uno script nell'editor AutoIt utilizzando 3 metodi.

Per esempio: Utilizzeremo la pagina โ€œScriviciโ€ di Guru99 per caricare un curriculum (file .doc).

Dopo aver cliccato sul pulsante "Scegli file" nella pagina "Scrivici", รจ necessario richiamare lo script AutoIt. Il controllo viene immediatamente trasferito ad AutoIt tramite l'istruzione seguente, che si occupa della fase di caricamento.

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Infine, quando eseguiamo il Selenium Lo script compilerร  il modulo -> caricherร  il curriculum -> invierร  il modulo.

Utilizzare AutoIt in Selenium

Passo 1) Ora apri l'Identificatore di elementi. Vai su 'C:\Program Files (x86)\AutoIt3' e fai clic sul file 'Au3Info.exe'; si aprirร  la finestra dell'identificatore di elementi come mostrato nella schermata seguente.

Utilizzare AutoIt in Selenium

Passo 2) Ora apri la finestra di caricamento file facendo clic su 'Scegli file' che รจ un Windows attivitร .

Utilizzare AutoIt in Selenium

Passo 3) Trascina lo strumento di ricerca sull'elemento "Nome file" della finestra di caricamento file per trovare le informazioni sugli attributi di base, come mostrato nella schermata sottostante con la freccia.

Utilizzare AutoIt in Selenium

Possiamo ottenere il valore degli attributi, vale a dire, titolo='Apri', classe='Modifica' and istanza='1โ€ฒ come mostrato di seguito. Questi valori vengono utilizzati nella scrittura dell'esempio di script AutoIt, come spiegato nel passaggio 4 seguente.

Utilizzare AutoIt in Selenium

Passo 4) Ora apri l'editor di script AutoIt, vai a 'C:\Program Files (x86)\AutoIt3\SciTE' e fai clic su 'SciTE.exe' come mostrato nel passaggio 7 dal 1st argomento.

Inizia a scrivere uno script per selezionare un file da caricare.

Esistono molti metodi che possiamo utilizzare in uno script a seconda delle esigenze, ma per ora ci concentreremo sui metodi seguenti, poichรฉ sono necessari per scrivere lo script di caricamento dei file:

  1. ControlloFocus("titolo", "testo", IDcontrollo) //Imposta il focus dell'input su un dato controllo su una finestra.
  2. ControlSetText("titolo", "testo", controlID, "percorso del file da caricare") // Imposta il testo di un controllo.
  3. ControlClick("titolo", "testo", IDcontrollo) //Invia un comando di clic del mouse a un determinato controllo.

รˆ possibile vedere che vengono visualizzati diversi metodi come mostrato nella schermata sottostante. La caratteristica positiva di AutoIt รจ che รจ in qualche modo simile a Eclipse che suggerisce alcuni dei metodi.

Utilizzare AutoIt in Selenium

Qui nell'editor di AutoIt, abbiamo selezionato โ€œattenzione al controlloโ€ metodo. L'identificatore dell'elemento รจ giร  aperto e ridotto a icona poichรฉ l'elemento รจ giร  identificato nel passaggio 3 precedente. Possiamo aprirlo massimizzandolo.

Ora, prenderemo i valori dall'identificatore dell'elemento per i metodi 'ControlFocus' e 'ControlSetText' poichรฉ questi metodi operano sullo stesso elemento, ovvero la casella di testo 'Nome file', mentre per il metodo 'ControlClick' dobbiamo acquisire i valori di un elemento diverso, ovvero il pulsante 'Apri'.

Valori dei parametri per ControlloFocus Metodo:

Questo metodo imposta il focus sulla casella di testo "Nome file" della finestra di caricamento file.

  • 1ยฐ parametro titolo รจ aperto ".
  • Ignoriamo il secondo parametro, il testo non รจ richiesto.
  • 3ยฐ parametro IDcontrollo รจ la combinazione di class='Edit' e Instance='1', ovvero 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Utilizzare AutoIt in Selenium

Valori dei parametri per ControlSetText Metodo:

Questo metodo viene utilizzato per definire il percorso di un file che dobbiamo caricare nella casella di testo "Nome file". In altre parole, questo metodo viene utilizzato per impostare il testo dell'elemento di input.

  • 1ยฐ parametro titolo รจ aperto ".
  • Ignoriamo il secondo parametro, il testo non รจ richiesto.
  • 3ยฐ parametro IDcontrollo รจ la combinazione di class='Edit' e Instance='1', ovvero "Edit1".
  • 4ยฐ parametro nuovo testo, passiamo il percorso del file che dobbiamo caricare.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Utilizzare AutoIt in Selenium

Dopo aver seguito il passaggio precedente, non chiudere le finestre (editor e identificatore di elementi); tienile aperte. Dovrai riaprire la finestra di caricamento file per trovare gli attributi del pulsante "Apri" come mostrato nel passaggio 5 seguente.

Passo 5) Ora trascina lo strumento di ricerca sull'elemento pulsante "Apri" della finestra di caricamento file per trovare le informazioni sugli attributi di base.

I valori precedenti (ovvero gli attributi della casella di testo 'Nome file') vengono sovrascritti con i nuovi valori del pulsante 'Apri'. Come si puรฒ vedere, l'attributo class รจ ora cambiato in "button", mentre in precedenza era "edit" nella finestra dell'identificatore dell'elemento AutoIt.

Utilizzare AutoIt in Selenium

Possiamo ottenere il valore degli attributi, vale a dire, titolo='Apri', classe='Pulsante' and istanza='1โ€ฒ come mostrato di seguito. Questi valori vengono utilizzati nella scrittura dello script AutoIt, come spiegato di seguito.

Utilizzare AutoIt in Selenium

Valori dei parametri per ControlClick Metodo:

Questo metodo consiste nel cliccare sul pulsante "Apri" della finestra di caricamento dei file.

  • 1ยฐ parametro titolo รจ aperto ".
  • Ignoriamo il secondo parametro; il testo non รจ richiesto.
  • 3ยฐ parametro IDcontrollo รจ la combinazione di classe e istanza, ovvero " Button1 ".
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Utilizzare AutoIt in Selenium

Passo 6) Come puoi vedere nella schermata sottostante, lo script AutoIt รจ stato completato per gestire il caricamento dei file. Ora puoi chiudere l'identificatore dell'elemento e salvare lo script come "FileUpload" nella posizione specificata (E:\AutoIT).

Utilizzare AutoIt in Selenium

Ora non รจ possibile eseguire direttamente questo script; รจ necessario compilarlo.

Per compilare questo script, hai due opzioni:compilare lo script x64" e "compilare lo script x86โ€œ. Se hai un Windows Macchina a 32 bit, quindi scegli "compilare lo script x86" e per un Windows Macchina a 64 bit, scegli โ€œcompilare lo script x64. "

Utilizzare AutoIt in Selenium

Passo 7) 'FileUpload.exe' Il file viene generato dopo la compilazione; puoi vederlo nella schermata sottostante. Ora possiamo usare questo file nel Selenium Script WebDriver.

Utilizzare AutoIt in Selenium

Ora useremo questo script AutoIt in Selenium WebDriver. Controlla l'output qui sotto.

Caricamento file in Selenium Utilizzo di AutoIt

In un Selenium script, troviamo gli elementi del modulo e riempiamo i dati in ogni elemento come richiesto e carichiamo il file 'resume.doc' eseguendo il file AutoIt exe generato dallo script AutoIt e quindi consentiamo l'invio del modulo nel Selenium Script AutoIt.

  • Apri Eclipse e iniziare a scrivere il codice.
  • Quando Selenium Facendo clic sul pulsante Scegli file, si apre la finestra di caricamento dei file.
  • Quindi dobbiamo chiamare lo script AutoIt; il controllo viene immediatamente trasferito ad AutoIt per caricare un file e poi il controllo viene inviato di nuovo a Selenium come mostrato di seguito.

Caricamento file in Selenium Utilizzo di AutoIt

Passo 1) Sviluppo Selenium sceneggiatura dentro Eclipse.

  • Runtime La classe consente allo script di interfacciarsi con l'ambiente in cui รจ in esecuzione lo script.
  • getRuntime () Ottiene il tempo di esecuzione corrente associato a questo processo.
  • exec () Il metodo esegue lo script AutoIt (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

La riga sopra chiamerร  il Script AutoIt in Selenium e carica il file.

Caricamento file in Selenium Utilizzo di AutoIt

Passo 2) Eseguire il Selenium sceneggiatura dentro Eclipse.

importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
    WebDriver driver=new FirefoxDriver();
    driver.get("https://demo.guru99.com/test/autoit.html");
    driver.findElement(By.id("postjob")).click();

    driver.findElement(By.id("input_3")).sendKeys("Gaurav");
    driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
    driver.findElement(By.id("input_4")).click();
    // below line execute the AutoIT script .
     Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
    driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
    driver.findElement(By.id("input_2")).click();
    driver.close();
     }
}

Passo 3) Verifica l'output; il file resume.doc รจ stato caricato correttamente e verrร  visualizzato un messaggio di ringraziamento.

Caricamento file in Selenium Utilizzo di AutoIt

Perchรฉ utilizzare AutoIt?

Selenium รจ uno strumento open source progettato per automatizzare le applicazioni basate sul web su diversi browser, ma per gestire finestre GUI e popup non HTML in un'applicazione, AutoIt in Selenium รจ necessario poichรฉ queste attivitร  basate su finestre non sono gestite da Selenium.

Usa AutoIt

Proseguendo in questo tutorial di AutoIt, impareremo come caricare un file in Selenium WebDriver tramite AutoIt. Per fare ciรฒ, abbiamo bisogno di tre strumenti.

  • Selenium webdriver
  • AutoIt editor e identificatore di elementi
  • La finestra che vuoi automatizzare

DOMANDE FREQUENTI

Selenium WebDriver controlla solo gli elementi del browser. AutoIt gestisce gli elementi nativi. Windows finestre di dialogo come le caselle di caricamento file, le richieste di download e le finestre di autenticazione di base con cui WebDriver non puรฒ interagire direttamente.

Lo strumento Au3Info ispeziona qualsiasi elemento visibile Windows Controlla l'elemento sotto il cursore e restituisce i valori di titolo, classe e istanza. Questi attributi vengono utilizzati direttamente nelle chiamate a ControlFocus, ControlSetText e ControlClick.

Sรฌ. Il codice sorgente .au3 deve essere compilato in un file .exe utilizzando l'opzione x86 o x64 corrispondente all'architettura del tuo computer. Selenium quindi chiama il file FileUpload.exe compilato tramite Runtime.getRuntime().exec().

AutoIt รจ un Windows-solo strumento. Per macOS Per le finestre di dialogo di selezione file di Linux, utilizzare AppleScript, xdotool o sendKeys specificando direttamente il percorso del file, poichรฉ questi sistemi operativi non supportano gli eseguibili di AutoIt.

Strumenti basati sull'intelligenza artificiale come TestimFunctionize e Mabl utilizzano la visione artificiale per riconoscere le finestre di dialogo native tramite il layout visivo, quindi generano automaticamente la logica di localizzazione. Ciรฒ riduce la necessitร  di script AutoIt quando si gestiscono ambienti instabili o in continua evoluzione. Windows popup.

Sรฌ. Modelli linguistici di grandi dimensioni come ChatGPT e Claude possono generare script AutoIt a partire da semplici prompt in inglese che descrivono la finestra di dialogo di destinazione, gli ID dei controlli e il percorso di caricamento, che i tester possono poi perfezionare e compilare.

Riassumi questo post con: