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: