AutoIT in Selenium Handledning: Hur använder man den?

⚡ Smart sammanfattning

AutoIt i Selenium är ett gratis skriptspråk som automatiserar Windows GUI-dialogrutor och inbyggda popup-fönster som Selenium WebDriver kan inte styras direkt, vilket gör den till den självklara hjälpen för filuppladdningar, nedladdningar och autentiseringsfrågor.

  • 🤖 Syfte: AutoIt utökar Selenium genom hantering Windows-baserade kontroller, inbyggda dialogrutor och popup-fönster som inte är i HTML och som WebDriver-lokaliserare inte kan nå.
  • 🪟 Elementidentifierare: Verktyget Au3Info inspekterar fönsterkontroller och exponerar titel-, klass- och instansattribut som används för att skripta tillförlitliga interaktioner.
  • ⚙️ Kärnmetoder: ControlFocus, ControlSetText och ControlClick utgör den minsta uppsättning som krävs för att fylla sökvägar och skicka inbyggda dialogrutor för filuppladdning.
  • Integration: En kompilerad FileUpload.exe utlöses från Selenium med Runtime.getRuntime().exec(), vilket skickar kontrollen till AutoIt och tillbaka sömlöst.
  • 🧪 Praktisk användning: Genomgången laddar upp ett CV på Guru99 demoformulär, verifierar allt från början till slut Selenium plus AutoIt-automatiseringsflöde.

AutoIT in Selenium

Vad är AutoIt i Selenium?

AutoIt är ett gratis skriptspråk utformat för automatisering Windows GUI och allmän skriptning. Den använder en kombination av musrörelser, tangenttryckningar och fönstermanipulation för att automatisera en uppgift som inte är möjlig med Selenium WebDriver.

Hur man laddar ner och installerar AutoIt

Steg 1) Gå till det här länken.

Steg 2) Håll muspekaren över rullgardinsmenyn "AutoIt" ​​och "AutoIt Editor".

Ladda ner och installera AutoIt

Steg 3) Klicka på alternativet "AutoIt" ​​för nedladdningar.

Ladda ner och installera AutoIt

Steg 4) Ladda ner "AutoIt" ​​genom att klicka på knappen "Ladda ner AutoIt".

Ladda ner och installera AutoIt

Steg 5) Ladda nu ner "AutoIt-redigeraren" genom att klicka på knappen "Nedladdningar".

Ladda ner och installera AutoIt

Steg 6) Klicka på länken som visas nedan.

Ladda ner och installera AutoIt

Efter nedladdningen får du två installationsfiler som visas på skärmen nedan, den första är AutoIt version 3 setup och andra är Scitautoit3.

Ladda ner och installera AutoIt

Steg 7) För att installera AutoIt, klicka på båda AutoIt-inställningarna en efter en.

Steg 8) Efter att installationen har genomförts, öppna AutoIt Editor.

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

Ladda ner och installera AutoIt

Och klicka på filen 'SciTE.exe', så öppnas AutoIt-redigeraren som visas på skärmen nedan.

Ladda ner och installera AutoIt

Steg 9) Öppna nu elementidentifieraren.

Gå till 'C:\Programfiler (x86)\AutoIt3'

Ladda ner och installera AutoIt

Och klicka på filen 'Au3Info.exe', elementidentifieraren öppnas som visas på skärmen nedan.

Ladda ner och installera AutoIt

Obs: När du är klar med den här elementidentifieraren måste du stänga den manuellt; den stängs inte automatiskt.

Hur man använder AutoIt i Selenium

Nedan ska vi se hur man använder AutoIt-redigeraren och hur man hittar ett element i filuppladdningsfönstret med hjälp av AutoIt Element Identifier (Elementidentifierare är ett verktyg som Selenium IDE; identifierare hittar elementet i ett fönstergränssnitt eller popup-fönster som inte är HTML och tillhandahåller attributet för elementet, som rubricerade, klass, exempel) och hur man skriver ett skript i AutoIt-redigeraren med hjälp av 3 metoder.

Till exempel: Vi kommer att använda sidan ”Skriv till oss” Guru99 för att ladda upp ett CV (Doc-fil).

Efter att vi klickat på knappen "Välj fil" på sidan "Skriv till oss" behöver vi anropa AutoIt-skriptet. Kontrollen överförs omedelbart till AutoIt efter att vi klickat på "Välj fil" via kommandot nedan, vilket hanterar uppladdningsdelen.

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

Slutligen, när vi kör Selenium skriptet, det kommer att fylla i formuläret-> ladda upp CV-> skicka in formuläret.

Använd AutoIt i Selenium

Steg 1) Öppna nu elementidentifieraren. Gå till 'C:\Program Files (x86)\AutoIt3' och klicka på filen 'Au3Info.exe'. Fönstret för elementidentifieraren öppnas som visas på skärmen nedan.

Använd AutoIt i Selenium

Steg 2) Öppna nu filuppladdningsfönstret genom att klicka på "Välj fil" vilket är en Windows aktivitet.

Använd AutoIt i Selenium

Steg 3) Dra sökverktyget till rutan "Filnamn" i filuppladdningsfönstret för att hitta informationen om grundläggande attribut som visas på skärmen nedan med pilen.

Använd AutoIt i Selenium

Vi kan få värdet på attribut, dvs. title='Öppna', class='Redigera' och instans='1′ som visas nedan. Dessa värden används för att skriva AutoIt-skriptexemplet enligt beskrivningen i steg 4 nedan.

Använd AutoIt i Selenium

Steg 4) Öppna nu AutoIt-skriptredigeraren, gå till 'C:\Program Files (x86)\AutoIt3\SciTE' och klicka på 'SciTE.exe' som visas i steg 7 från 1.st ämne.

Börja skriva ett skript för att välja en fil att ladda upp.

Det finns många metoder tillgängliga som vi kan använda i ett skript enligt kraven, men just nu kommer vi att fokusera på metoderna nedan eftersom dessa metoder krävs för att skriva filuppladdningsskriptet:

  1. Kontrollfokus("titel "," text ", kontroll-ID ) //Ställer in ingångsfokus till en given kontroll i ett fönster.
  2. ControlSetText("titel "," text ", kontrollID ," filsökväg som måste laddas upp " ) // Ställer in text för en kontroll.
  3. ControlClick("titel "," text ", kontroll-ID ) //Skickar ett musklickskommando till en given kontroll.

Du kan se ett antal metoder som visas på skärmen nedan. Den bra funktionen med AutoIt är att det är ungefär som Eclipse som föreslår några av metoderna.

Använd AutoIt i Selenium

Här i AutoIt-redigeraren har vi valt "kontrollera fokus" metod. Elementidentifierare är redan öppnat och minimerat eftersom elementet redan är identifierat i steg 3 ovan. Vi kan öppna det genom att maximera det.

Nu tar vi värdena från elementidentifieraren för metoderna 'ControlFocus' och 'ControlSetText' eftersom dessa metoder fungerar på samma element, dvs. textrutan 'Filnamn', men för metoden 'ControlClick' behöver vi hämta värden från ett annat element, dvs. knappen 'Öppna'.

Parametervärden för Kontrollfokus metod:

Den här metoden sätter fokus på textrutan "Filnamn" i filuppladdningsfönstret.

  • 1:a parametern rubricerade är öppen ".
  • Vi ignorerar den andra parametern, text behövs inte.
  • 3:e parametern kontrollID är kombinationen av class='Edit' och Instance='1′, dvs. 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Använd AutoIt i Selenium

Parametervärden för ControlSetText metod:

Den här metoden används för att definiera sökvägen till en fil som vi behöver ladda upp i textrutan "Filnamn". På ett annat sätt kan vi säga att den här metoden används för att ställa in texten i inmatningselementet.

  • 1:a parametern rubricerade är öppen ".
  • Vi ignorerar den andra parametern, text behövs inte.
  • 3:e parametern kontrollID är kombinationen av class='Edit' och Instance='1′, dvs. ”Edit1”.
  • 4:e parametern ny text, vi anger sökvägen till filen som vi behöver ladda upp.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Använd AutoIt i Selenium

Efter att ha följt stegen ovan, stäng inte fönstren (redigerare och elementidentifierare); låt dem vara öppna. Du måste återigen öppna filuppladdningsfönstret för att hitta attributen för knappen "Öppna" som visas i steg 5 nedan.

Steg 5) Dra nu sökverktyget till knappen "Öppna" i filuppladdningsfönstret för att hitta den grundläggande attributinformationen.

Tidigare värden (dvs. attribut i textrutan "Filnamn") skrivs över med nya värden från knappen "Öppna". Du kan se att klassattributet nu har ändrats till "knapp" som tidigare var "redigera" i AutoIt-elementidentifierarfönstret.

Använd AutoIt i Selenium

Vi kan få värdet på attribut, dvs. title='Öppna', class='Button' och instans='1′ som visas nedan. Dessa värden används för att skriva AutoIt-skript enligt beskrivningen nedan.

Använd AutoIt i Selenium

Parametervärden för ControlClick metod:

Den här metoden klickar på knappen "Öppna" i filuppladdningsfönstret.

  • 1:a parametern rubricerade är öppen ".
  • Vi ignorerar den andra parametern; text behövs inte.
  • 3:e parametern kontrollID är kombinationen av klass och instans, dvs ” Button1 ”.
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Använd AutoIt i Selenium

Steg 6) Du kan se på skärmen nedan att AutoIt-skriptet är klart för att hantera filuppladdningen. Nu kan du stänga elementidentifieraren och spara skriptet som "FileUpload" på den angivna platsen (E:\AutoIT).

Använd AutoIt i Selenium

Nu kan du inte köra det här skriptet direkt; du måste kompilera det här skriptet.

För att kompilera det här skriptet har du två alternativ "kompilera skript x64"Och"kompilera skript x86". Om du har en Windows 32-bitarsmaskin, gå sedan med “kompilera skript x86"och för en Windows 64-bitarsmaskin, välj "kompilera skript x64. "

Använd AutoIt i Selenium

Steg 7) 'FileUpload.exe' filen genereras efter kompilering; du kan se den på skärmen nedan. Nu kan vi använda den här filen i Selenium WebDriver-skript.

Använd AutoIt i Selenium

Nu ska vi använda detta AutoIt-skript i Selenium Webdrivrutin. Kontrollera nedan för utdata.

Ladda upp fil i Selenium Använda AutoIt

I en Selenium skript, vi hittar elementen i formuläret och fyller i informationen i varje element efter behov och laddar upp filen 'resume.doc' genom att köra AutoIt exe-filen som genereras från AutoIt-skriptet, och låter sedan formuläret skickas in i Selenium AutoIt-skript.

  • Öppet Eclipse och börja skriva kod.
  • När Selenium klickar på knappen Välj fil, så öppnas filuppladdningsrutan.
  • Sedan behöver vi anropa AutoIt-skriptet; kontrollen överförs omedelbart till AutoIt för att ladda upp en fil och sedan skickas kontrollen tillbaka till Selenium som visas nedan.

Filuppladdning in Selenium Använda AutoIt

Steg 1) Utveckla Selenium manus i Eclipse.

  • Runtime klass gör att skriptet kan samverka med miljön där skriptet körs.
  • getRuntime () hämtar den aktuella körtiden som är associerad med den här processen.
  • exec () Metoden kör AutoIt-skriptet ( FileUpload.exe ).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Raden ovan kommer att anropa AutoIt-skript in Selenium och ladda upp filen.

Filuppladdning in Selenium Använda AutoIt

Steg 2) Kör Selenium manus 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();
     }
}

Steg 3) Verifiera resultatet; filen resume.doc har laddats upp och ett tackmeddelande visas.

Filuppladdning in Selenium Använda AutoIt

Varför använda AutoIt?

Selenium är ett verktyg med öppen källkod som är utformat för att automatisera webbaserade applikationer i olika webbläsare, men för att hantera fönstergränssnitt och popup-fönster som inte är HTML i en applikation, AutoIt i Selenium krävs eftersom dessa fönsterbaserade aktiviteter inte hanteras av Selenium.

Använd AutoIt

I den här AutoIt-handledningen kommer vi att lära oss hur man laddar upp en fil i Selenium WebDriver med AutoIt. Här behöver vi tre verktyg för att göra detta.

  • Selenium webbdrivrutin
  • AutoIt-redigerare och elementidentifierare
  • Fönstret som du vill automatisera

Vanliga frågor

Selenium WebDriver styr endast webbläsarelement. AutoIt hanterar inbyggda Windows dialogrutor som filuppladdningsrutor, nedladdningsprompter och grundläggande autentiseringsfönster som WebDriver inte kan interagera direkt med.

Au3Info-verktyget inspekterar alla synliga Windows kontrollen under markören och returnerar dess titel-, klass- och instansvärden. Dessa attribut matas direkt in i ControlFocus-, ControlSetText- och ControlClick-anrop.

Ja. .au3-källkoden måste kompileras till en .exe-fil med x86- eller x64-alternativet som matchar din maskin. Selenium anropar sedan den kompilerade FileUpload.exe via Runtime.getRuntime().exec().

AutoDet är en Windows-endast verktyg. För macOS eller Linux-fildialogrutor, använd AppleScript, xdotool eller sendKeys med filsökvägen direkt, eftersom dessa operativsystem inte stöder AutoIt-körbara filer.

AI-drivna verktyg som Testim, Functionize och Mabl använder datorseende för att känna igen inbyggda dialogrutor genom visuell layout och generera sedan automatiskt lokaliseringslogik. Detta minskar behovet av AutoIt-skript vid hantering av instabila eller utvecklande program. Windows popup-fönster.

Ja. Stora språkmodeller som ChatGPT och Claude kan generera AutoIt-skript från vanliga engelska prompter som beskriver måldialogrutan, kontroll-ID:n och uppladdningssökvägen, vilka testare sedan kan förfina och kompilera.

Sammanfatta detta inlägg med: