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.

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".
Steg 3) Klicka på alternativet "AutoIt" för nedladdningar.
Steg 4) Ladda ner "AutoIt" genom att klicka på knappen "Ladda ner AutoIt".
Steg 5) Ladda nu ner "AutoIt-redigeraren" genom att klicka på knappen "Nedladdningar".
Steg 6) Klicka på länken som visas nedan.
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.
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'
Och klicka på filen 'SciTE.exe', så öppnas AutoIt-redigeraren som visas på skärmen nedan.
Steg 9) Öppna nu elementidentifieraren.
Gå till 'C:\Programfiler (x86)\AutoIt3'
Och klicka på filen 'Au3Info.exe', elementidentifieraren öppnas som visas på skärmen nedan.
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.
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.
Steg 2) Öppna nu filuppladdningsfönstret genom att klicka på "Välj fil" vilket är en Windows aktivitet.
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.
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.
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:
- Kontrollfokus("titel "," text ", kontroll-ID ) //Ställer in ingångsfokus till en given kontroll i ett fönster.
- ControlSetText("titel "," text ", kontrollID ," filsökväg som måste laddas upp " ) // Ställer in text för en kontroll.
- 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.
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.
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.
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.
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.
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.
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).
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. "
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.
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.
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.
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.
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.
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




























