AutoIT ind Selenium Tutorial: Hvordan bruger man det?

⚡ Smart opsummering

AutoIt i Selenium er et gratis scriptsprog, der automatiserer Windows GUI-dialoger og native popups, der Selenium WebDriver kan ikke direkte styres, hvilket gør den til den foretrukne hjælper til filuploads, downloads og godkendelsesprompter.

  • 🤖 Formål: AutoIt udvider Selenium ved håndtering Windows-baserede kontroller, native dialogbokse og ikke-HTML-popups, som WebDriver-lokaliseringsværktøjer ikke kan nå.
  • 🪟 Elementidentifikator: Au3Info-værktøjet inspicerer vindueskontroller og eksponerer titel-, klasse- og instansattributter, der bruges til at scripte pålidelige interaktioner.
  • 🇧🇷 Kernemetoder: ControlFocus, ControlSetText og ControlClick udgør det minimum, der kræves for at udfylde stier og indsende native filuploaddialoger.
  • ✅ Integration: En kompileret FileUpload.exe udløses fra Selenium med Runtime.getRuntime().exec(), der problemfrit overfører kontrollen til AutoIt og tilbage igen.
  • 🧪 Praktisk brug: Gennemgangen uploader et CV på Guru99 demoformular, der verificerer hele processen Selenium plus AutoIt-automatiseringsflow.

AutoIT ind Selenium

Hvad er AutoIt i Selenium?

AutoIt er et gratis scriptsprog designet til automatisering Windows GUI og generel scripting. Den bruger en kombination af musebevægelser, tastetryk og manipulation af vinduesstyring til at automatisere en opgave, der ikke er mulig med Selenium WebDriver.

Sådan downloader og installerer du AutoIt

Trin 1) Gå til dette .

Trin 2) Hold musen over rullemenuerne 'AutoIt' og 'AutoIt Editor'.

Download og installer AutoIt

Trin 3) Klik på indstillingen 'AutoIt' Downloads.

Download og installer AutoIt

Trin 4) Download “AutoIt” ved at klikke på knappen 'Download AutoIt'.

Download og installer AutoIt

Trin 5) Download nu “AutoIt editor” ved at klikke på knappen 'Downloads'.

Download og installer AutoIt

Trin 6) Klik på linket som vist nedenfor.

Download og installer AutoIt

Efter download får du to installationsfiler som vist på skærmen nedenfor. Den første er AutoIt version 3 opsætning og andet er Scitautoit 3.

Download og installer AutoIt

Trin 7) For at installere AutoIt skal du klikke på begge AutoIt-opsætninger én efter én.

Trin 8) Efter installationen skal du åbne AutoIt Editor.

Gå til 'C:\Program Files (x86)\AutoIt3\SciTE'

Download og installer AutoIt

Og klik på filen 'SciTE.exe'. AutoIt-editoren åbnes som vist på skærmen nedenfor.

Download og installer AutoIt

Trin 9) Åbn nu element-identifikator.

Gå til 'C:\Programmer (x86)\AutoIt3'

Download og installer AutoIt

Og klik på filen 'Au3Info.exe'. Elementidentifikatoren åbnes som vist på skærmen nedenfor.

Download og installer AutoIt

Bemærk: Når du er færdig med dette element-id, skal du lukke det manuelt; det lukkes ikke automatisk.

Sådan bruger du AutoIt i Selenium

Nedenfor vil vi se, hvordan man bruger AutoIt-editoren, og hvordan man finder et element i filuploadervinduet via AutoIt Element Identifier (Element-identifikator er et værktøj som f.eks. Selenium IDE; identifier finder elementet i en vindues-GUI eller ikke-HTML-popups og angiver attributten for elementet som f.eks. titel, klasse, instans) og hvordan man skriver et script i AutoIt-editoren ved hjælp af 3 metoder.

For eksempel: Vi bruger siden "Skriv til os" Guru99 for at uploade et CV (Doc-fil).

Efter at have klikket på knappen 'Vælg fil' på siden "Skriv til os", skal vi kalde AutoIt-scriptet. Kontrollen overføres straks til AutoIt efter at have klikket på 'Vælg fil' via nedenstående sætning, som tager sig af uploaddelen.

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

Endelig, når vi kører Selenium scriptet, det vil udfylde formularen-> uploade CV-> indsende formular.

Brug AutoIt i Selenium

Trin 1) Åbn nu element-identifikator. Gå til 'C:\Program Files (x86)\AutoIt3' og klik på filen 'Au3Info.exe'. Vinduet med element-identifikator åbnes som vist på skærmbilledet nedenfor.

Brug AutoIt i Selenium

Trin 2) Åbn nu filuploadervinduet ved at klikke på 'Vælg fil', som er en Windows aktivitet.

Brug AutoIt i Selenium

Trin 3) Træk søgeværktøjet hen til "Filnavn"-bokselementet i filuploadervinduet for at finde de grundlæggende attributoplysninger, som vist på skærmen nedenfor med pilen.

Brug AutoIt i Selenium

Vi kan finde værdien af ​​attributter, dvs. title='Åben', class='Rediger' og instans='1′ som vist nedenfor. Disse værdier bruges til at skrive AutoIt-scripteksemplet, som forklaret i trin 4 nedenfor.

Brug AutoIt i Selenium

Trin 4) Åbn nu AutoIt-scripteditoren, gå til 'C:\Program Files (x86)\AutoIt3\SciTE' og klik på 'SciTE.exe' som vist i trin 7 fra 1.st emne.

Begynd at skrive et script til at vælge en fil, der skal uploades.

Der findes mange metoder, som vi kan bruge i et script alt efter behov, men lige nu vil vi fokusere på nedenstående metoder, da disse metoder er nødvendige for at skrive filuploadscriptet:

  1. KontrolFokus("titel "," tekst ", kontrol-id ) //Sætter inputfokus til en given kontrol på et vindue.
  2. ControlSetText("titel "," tekst ", kontrol-id," filsti, der skal uploades ") // Indstiller tekst for en kontrol.
  3. KontrolKlik("titel "," tekst ", kontrol-id ) //Sender en museklik kommando til en given kontrol.

Du kan se en række metoder, som vist på skærmen nedenfor. Den gode funktion ved AutoIt er, at det minder lidt om Eclipse der foreslår nogle af metoderne.

Brug AutoIt i Selenium

Her i AutoIt-editoren har vi valgt "kontrol fokus" metode. Elementidentifikator er allerede åbnet og minimeret, da elementet allerede er identificeret i trin 3 ovenfor. Vi kan åbne det ved at maksimere det.

Nu tager vi værdierne fra element-id'et for metoderne 'ControlFocus' og 'ControlSetText', da disse metoder fungerer på det samme element, dvs. tekstfeltet 'Filnavn', men for 'ControlClick'-metoden skal vi registrere værdier fra et andet element, dvs. knappen 'Åbn'.

Parameterværdier for KontrolFokus metode:

Denne metode sætter fokus på tekstfeltet 'Filnavn' i filuploadervinduet.

  • 1. parameter titel er åben ".
  • Vi ignorerer den anden parameter, tekst er ikke påkrævet.
  • 3. parameter kontrol-ID er kombinationen af ​​class='Edit' og Instance='1′, dvs. 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Brug AutoIt i Selenium

Parameterværdier for ControlSetText metode:

Denne metode bruges til at definere stien til en fil, som vi skal uploade, i tekstfeltet 'Filnavn'. På en anden måde kan vi sige, at denne metode bruges til at indstille teksten til inputelementet.

  • 1. parameter titel er åben ".
  • Vi ignorerer den anden parameter, tekst er ikke påkrævet.
  • 3. parameter kontrol-ID er kombinationen af ​​class='Edit' og Instance='1′, dvs. ”Edit1”.
  • 4. parameter ny tekst, vi angiver stien til den fil, som vi skal uploade.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Brug AutoIt i Selenium

Når du har fulgt ovenstående trin, må du ikke lukke vinduerne (editor og element-id); lad dem være åbne. Du skal igen åbne filuploadervinduet for at finde attributterne for knappen 'Åbn', som vist i trin 5 nedenfor.

Trin 5) Træk nu finderværktøjet hen til "Åbn"-knapelementet i filuploadervinduet for at finde de grundlæggende attributoplysninger.

Tidligere værdier (dvs. attributter i tekstfeltet 'Filnavn') overskrives med nye værdier fra knappen 'Åbn'. Du kan se, at klasseattributten nu er ændret til "knap", som tidligere var "rediger" i AutoIt-elementidentifikatorvinduet.

Brug AutoIt i Selenium

Vi kan finde værdien af ​​attributter, dvs. title='Åben', class='Knap' og instans='1′ som vist nedenfor. Disse værdier bruges til at skrive AutoIt-scriptet som forklaret nedenfor.

Brug AutoIt i Selenium

Parameterværdier for KontrolKlik metode:

Denne metode klikker på knappen 'Åbn' i filuploadervinduet.

  • 1. parameter titel er åben ".
  • Vi ignorerer den anden parameter; tekst er ikke påkrævet.
  • 3. parameter kontrol-ID er kombinationen af ​​klasse og instans, dvs. ”Knap1”.
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Brug AutoIt i Selenium

Trin 6) Du kan se på skærmbilledet nedenfor, at AutoIt-scriptet er færdigt til at håndtere filuploaderen. Nu kan du lukke elementidentifikatoren og gemme scriptet som "FileUpload" på den angivne placering (E:\AutoIT).

Brug AutoIt i Selenium

Nu kan du ikke udføre dette script direkte; du skal kompilere dette script.

For at kompilere dette script har du to muligheder "kompiler script x64"Og"kompiler script x86". Hvis du har en Windows 32-bit maskine, og gå derefter med “kompiler script x86"og for en Windows 64-bit maskine, vælg “kompiler script x64".

Brug AutoIt i Selenium

Trin 7) 'FileUpload.exe' filen genereres efter kompilering; du kan se den på skærmen nedenfor. Nu kan vi bruge denne fil i Selenium WebDriver-script.

Brug AutoIt i Selenium

Nu skal vi bruge dette AutoIt-script i Selenium WebDriver. Se output nedenfor.

Fil upload i Selenium Brug af AutoIt

I en Selenium script, finder vi elementerne i formularen og udfylder dataene i hvert element efter behov og uploader 'resume.doc'-filen ved at køre AutoIt exe-filen genereret fra AutoIt-scriptet, og tillader derefter at indsende formularen i Selenium AutoIt script.

  • Åbne Eclipse og begynde at skrive kode.
  • Når Selenium klikker på knappen Vælg fil, åbnes filuploader-boksen.
  • Så skal vi kalde AutoIt-scriptet; kontrollen overføres straks til AutoIt for at uploade en fil, og derefter sendes kontrollen tilbage til Selenium som vist nedenfor.

Fil upload ind Selenium Brug af AutoIt

Trin 1) Udvikle Selenium manuskript i Eclipse.

  • Runtime klasse tillader scriptet at interface med det miljø, hvori scriptet kører.
  • getRuntime () henter den aktuelle runtime, der er knyttet til denne proces.
  • exec() Metoden udfører AutoIt-scriptet (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Ovenstående linje vil kalde AutoIt-script in Selenium og uploade filen.

Fil upload ind Selenium Brug af AutoIt

Trin 2) Udfør Selenium manuskript i 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();
     }
}

Trin 3) Bekræft outputtet; resume.doc-filen er uploadet, og der vises en takkebesked.

Fil upload ind Selenium Brug af AutoIt

Hvorfor bruge AutoIt?

Selenium er et open source-værktøj, der er designet til at automatisere webbaserede applikationer i forskellige browsere, men til at håndtere vindues-GUI og ikke-HTML-popups i en applikation, AutoIt i Selenium er påkrævet, da disse vinduesbaserede aktiviteter ikke håndteres af Selenium.

Brug AutoIt

I denne AutoIt-vejledning lærer vi, hvordan man uploader en fil i Selenium WebDriver ved hjælp af AutoIt. Her har vi brug for tre værktøjer for at gøre dette.

  • Selenium webdriver
  • AutoIt-editor og elementidentifikator
  • Det vindue, du vil automatisere

Ofte Stillede Spørgsmål

Selenium WebDriver styrer kun browserelementer. AutoIt håndterer native Windows dialogbokse såsom filuploadbokse, downloadprompter og grundlæggende godkendelsesvinduer, som webdriveren ikke kan interagere direkte med.

Au3Info-værktøjet inspicerer alle synlige Windows kontrol under markøren og returnerer dens titel-, klasse- og instansværdier. Disse attributter bruges direkte i ControlFocus-, ControlSetText- og ControlClick-kald.

Ja. .au3-kildekoden skal kompileres til en .exe-fil ved hjælp af den x86- eller x64-indstilling, der matcher din maskine. Selenium kalder derefter den kompilerede FileUpload.exe via Runtime.getRuntime().exec().

AutoDet er en Windows-kun værktøj. Til macOS eller Linux-fildialogbokse, brug AppleScript, xdotool eller sendKeys med filstien direkte, da disse operativsystemer ikke understøtter AutoIt-eksekverbare filer.

AI-drevne værktøjer som Testim, Functionize og Mabl bruger computer vision til at genkende native dialoger via visuelt layout og derefter automatisk generere locator-logik. Dette reducerer behovet for AutoIt-scripts ved håndtering af ustabile eller udviklende programmer. Windows pop ups.

Ja. Store sprogmodeller som ChatGPT og Claude kan generere AutoIt-scripts ud fra almindelige engelske prompts, der beskriver måldialogen, kontrol-ID'er og uploadsti, som testere derefter kan forfine og kompilere.

Opsummer dette indlæg med: