AutoIT in Selenium Tutorial: Hoe gebruik je het?

โšก Slimme samenvatting

AutoIt in Selenium is een gratis scripttaal die automatiseert Windows GUI-dialoogvensters en native pop-ups die Selenium WebDriver kan dit niet rechtstreeks aansturen, waardoor het de aangewezen tool is voor het uploaden en downloaden van bestanden en voor authenticatieverzoeken.

  • ๐Ÿค– Doel: AutoIt breidt uit Selenium door te hanteren Windows-gebaseerde besturingselementen, native dialoogvensters en niet-HTML-pop-ups die niet bereikbaar zijn voor WebDriver-locators.
  • ๐ŸชŸ Element-ID: De Au3Info-tool inspecteert vensterbesturingselementen en toont de titel-, klasse- en instantiekenmerken die worden gebruikt om betrouwbare interacties te scripten.
  • โš™๏ธ Kernmethoden: ControlFocus, ControlSetText en ControlClick vormen de minimale set die nodig is om paden in te vullen en native dialoogvensters voor het uploaden van bestanden te verzenden.
  • โœ… integratie: Een gecompileerd FileUpload.exe-bestand wordt gestart vanuit Selenium Met Runtime.getRuntime().exec() wordt de controle naadloos overgedragen aan AutoIt en weer teruggegeven.
  • ๐Ÿงช Praktisch gebruik: Tijdens de rondleiding wordt een cv geรผpload naar de Guru99 demo-formulier, waarmee de volledige werking wordt geverifieerd Selenium plus AutoIt-automatiseringsworkflow.

AutoIT in Selenium

Waar zit AutoIt in? Selenium?

AutoIt is een gratis scripttaal die is ontworpen voor het automatiseren van Windows GUI en algemene scripting. Het maakt gebruik van een combinatie van muisbewegingen, toetsaanslagen en manipulatie van vensterbesturingselementen om een โ€‹โ€‹taak te automatiseren die niet mogelijk is met een grafische interface. Selenium Webstuurprogramma.

Hoe AutoIt te downloaden en te installeren

Stap 1) Ga hier naartoe link.

Stap 2) Beweeg de muis over 'AutoIt' en het vervolgkeuzemenu 'AutoIt Editor'.

Download en installeer AutoIt.

Stap 3) Klik op de optie 'AutoIt Downloads'.

Download en installeer AutoIt.

Stap 4) Download โ€œAutoItโ€ door op de knop 'Download AutoIt' te klikken.

Download en installeer AutoIt.

Stap 5) Download nu de AutoIt-editor door op de knop 'Downloads' te klikken.

Download en installeer AutoIt.

Stap 6) Klik op de link zoals hieronder weergegeven.

Download en installeer AutoIt.

Na het downloaden ontvangt u twee installatiebestanden, zoals weergegeven in onderstaande afbeelding. Het eerste bestand is... AutoIt-versie 3 opstelling en tweede is Scitautoit3.

Download en installeer AutoIt.

Stap 7) Om AutoIt te installeren, klikt u รฉรฉn voor รฉรฉn op beide AutoIt-installatieprogramma's.

Stap 8) Na een succesvolle installatie kunt u AutoIt Editor openen.

Ga naar 'C:\Program Files (x86)\AutoIt3\SciTE'

Download en installeer AutoIt.

Klik vervolgens op het bestand 'SciTE.exe'. De AutoIt-editor wordt dan geopend, zoals te zien is in de onderstaande schermafbeelding.

Download en installeer AutoIt.

Stap 9) Open nu het element Identifier.

Ga naar 'C:\Program Files (x86)\AutoIt3'

Download en installeer AutoIt.

Klik vervolgens op het bestand 'Au3Info.exe'. De element-ID wordt dan weergegeven zoals in de onderstaande schermafbeelding.

Download en installeer AutoIt.

Let op: Als u klaar bent met deze element-ID, moet u deze handmatig sluiten; deze wordt niet automatisch gesloten.

Hoe AutoIt te gebruiken in Selenium

Hieronder zullen we zien hoe je de AutoIt-editor gebruikt en hoe je een element in het venster voor het uploaden van bestanden kunt vinden met behulp van de AutoIt-element-ID (een element-ID is een hulpmiddel zoals...). Selenium IDE; de identifier vindt het element van de GUI-vensters of niet-HTML-pop-ups en geeft het attribuut van het element weer, zoals titel, klasse, instantie) en hoe je een script schrijft in de AutoIt-editor met behulp van 3 methoden.

Bijvoorbeeld: We zullen de pagina "Schrijf ons" gebruiken van Guru99 om een โ€‹โ€‹cv (Doc-bestand) te uploaden.

Nadat we op de knop 'Bestand kiezen' op de pagina 'Schrijf ons' hebben geklikt, moeten we het AutoIt-script aanroepen. De controle wordt direct na het klikken op 'Bestand kiezen' overgedragen aan AutoIt door de onderstaande instructie, die het uploaden afhandelt.

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

Tot slot, wanneer we de Selenium Het script vult het formulier in, uploadt het cv en verzendt het formulier.

AutoIt gebruiken in Selenium

Stap 1) Open nu de elementidentificatie. Ga naar 'C:\Program Files (x86)\AutoIt3' en klik op het bestand 'Au3Info.exe'. Het venster voor elementidentificatie wordt geopend, zoals weergegeven in de onderstaande schermafbeelding.

AutoIt gebruiken in Selenium

Stap 2) Open nu het venster voor het uploaden van bestanden door te klikken op 'Bestand kiezen'. Windows activiteit.

AutoIt gebruiken in Selenium

Stap 3) Sleep het zoekgereedschap naar het element 'Bestandsnaam' in het venster voor het uploaden van bestanden om de basisinformatie over de eigenschappen te vinden, zoals weergegeven met de pijl in de onderstaande schermafbeelding.

AutoIt gebruiken in Selenium

We kunnen de waarde van attributen verkrijgen, bijvoorbeeld: title='Openen', class='Bewerken' en instantie='1โ€ฒ zoals hieronder weergegeven. Deze waarden worden gebruikt bij het schrijven van het AutoIt-scriptvoorbeeld, zoals uitgelegd in stap 4 hieronder.

AutoIt gebruiken in Selenium

Stap 4) Open nu de AutoIt-scripteditor, ga naar 'C:\Program Files (x86)\AutoIt3\SciTE' en klik op 'SciTE.exe' zoals weergegeven in stap 7 van de 1.st topic.

Begin met het schrijven van een script voor het selecteren van een bestand om te uploaden.

Er zijn veel methoden beschikbaar die we in een script kunnen gebruiken, afhankelijk van de vereisten, maar we zullen ons nu concentreren op de onderstaande methoden, aangezien deze nodig zijn voor het schrijven van het script voor het uploaden van bestanden:

  1. ControleFocus(โ€œtitelโ€œ,โ€ tekstโ€œ,controleID ) // Stelt de invoerfocus in op een bepaald besturingselement in een venster.
  2. ControleSetText("titel", tekst ",controlID", Bestandspad dat moet worden geรผpload ") // Stelt de tekst van een besturingselement in.
  3. ControleKlik(โ€œtitelโ€œ,โ€ tekstโ€œ,controleID ) //Verzendt een muisklikopdracht naar een bepaald besturingselement.

Zoals je in het onderstaande scherm kunt zien, worden er verschillende methoden weergegeven. Het goede aan AutoIt is dat het enigszins vergelijkbaar is met... Eclipse Dat suggereert een aantal methoden.

AutoIt gebruiken in Selenium

Hier in de AutoIt-editor hebben we geselecteerd โ€œcontrolefocusโ€ methode. De element-ID is al geopend en geminimaliseerd omdat het element al is geรฏdentificeerd in stap 3 hierboven. We kunnen het openen door het te maximaliseren.

Voor de methoden 'ControlFocus' en 'ControlSetText' gebruiken we de waarden van de element-ID, omdat deze methoden op hetzelfde element werken, namelijk het tekstvak 'Bestandsnaam'. Voor de methode 'ControlClick' moeten we echter de waarden van een ander element vastleggen, namelijk de knop 'Openen'.

Parameterwaarden voor ControleFocus methode:

Deze methode plaatst de focus op het tekstvak 'Bestandsnaam' in het venster voor het uploaden van bestanden.

  • 1e parameter titel is geopend ".
  • We negeren de tweede parameter, de tekst is niet nodig.
  • 3e parameter controleID is de combinatie van class='Edit' en Instance='1', oftewel 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

AutoIt gebruiken in Selenium

Parameterwaarden voor ControleSetText methode:

Deze methode wordt gebruikt om het pad van een bestand dat we moeten uploaden in het tekstvak 'Bestandsnaam' te definiรซren. Anders gezegd, deze methode wordt gebruikt om de tekst in het invoerelement in te stellen.

  • 1e parameter titel is geopend ".
  • We negeren de tweede parameter, de tekst is niet nodig.
  • 3e parameter controleID is de combinatie van class='Edit' en Instance='1', oftewel โ€ Edit1 โ€œ.
  • 4e parameter nieuwe tekstWe geven het pad door van het bestand dat we moeten uploaden.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

AutoIt gebruiken in Selenium

Nadat u de bovenstaande stap hebt uitgevoerd, sluit u de vensters (editor en element-ID) niet; laat ze openstaan. U moet het venster voor het uploaden van bestanden opnieuw openen om de attributen van de knop 'Openen' te vinden, zoals weergegeven in stap 5 hieronder.

Stap 5) Sleep nu het zoekgereedschap naar het element van de knop "Openen" in het venster van de bestandsuploader om de basiskenmerkinformatie te vinden.

De vorige waarden (d.w.z. de attributen van het tekstvak 'Bestandsnaam') worden overschreven door de nieuwe waarden van de knop 'Openen'. Je kunt zien dat het klasse-attribuut nu is gewijzigd in "button", waar het voorheen "edit" was in het AutoIt-elementidentificatievenster.

AutoIt gebruiken in Selenium

We kunnen de waarde van attributen verkrijgen, bijvoorbeeld: title='Openen', class='Knop' en instantie='1โ€ฒ zoals hieronder weergegeven. Deze waarden worden gebruikt bij het schrijven van AutoIt-scripts, zoals hieronder wordt uitgelegd.

AutoIt gebruiken in Selenium

Parameterwaarden voor ControleKlik methode:

Bij deze methode klikt u op de knop 'Openen' in het venster voor het uploaden van bestanden.

  • 1e parameter titel is geopend ".
  • We negeren de tweede parameter; de tekst is niet nodig.
  • 3e parameter controleID is de combinatie van klasse en instantie, dat wil zeggen, "Button1".
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

AutoIt gebruiken in Selenium

Stap 6) Zoals u in onderstaande afbeelding kunt zien, is het AutoIt-script voor het uploaden van bestanden voltooid. U kunt nu de element-ID sluiten en het script opslaan als "FileUpload" op de opgegeven locatie (E:\AutoIT).

AutoIt gebruiken in Selenium

Je kunt dit script niet direct uitvoeren; je moet het eerst compileren.

Voor het compileren van dit script heb je twee opties:compileerscript x64"En"compileerscript x86Als je een Windows 32-bits machine, kies dan voor "compileerscript x86"en voor een Windows 64-bits machine, kies voor โ€œcompileerscript x64. '

AutoIt gebruiken in Selenium

Stap 7) 'FileUpload exe' Het bestand wordt na compilatie gegenereerd; u kunt het zien in de onderstaande schermafbeelding. Nu kunnen we dit bestand gebruiken in de Selenium WebDriver-script.

AutoIt gebruiken in Selenium

Nu gaan we dit AutoIt-script gebruiken in Selenium WebDriver. Zie onderstaande uitvoer.

Bestand uploaden Selenium AutoIt gebruiken

In een Selenium Het script zoekt de elementen van het formulier op, vult de gegevens in elk element naar behoren in en uploadt het bestand 'resume.doc' door het AutoIt-uitvoerbare bestand uit te voeren dat door het AutoIt-script is gegenereerd. Vervolgens kunnen we het formulier verzenden. Selenium AutoIt-script.

  • Open Eclipse en begin met het schrijven van code.
  • . Selenium Als je op de knop 'Bestand kiezen' klikt, wordt het venster voor het uploaden van bestanden geopend.
  • Vervolgens moeten we het AutoIt-script aanroepen; de controle wordt direct overgedragen aan AutoIt om een โ€‹โ€‹bestand te uploaden, waarna de controle weer wordt teruggegeven aan AutoIt. Selenium zoals hieronder aangegeven.

Bestand uploaden Selenium AutoIt gebruiken

Stap 1) Ontwikkelen Selenium schrift erin Eclipse.

  • Runtime class zorgt ervoor dat het script kan communiceren met de omgeving waarin het script wordt uitgevoerd.
  • getRuntime () Geeft de huidige runtime weer die aan dit proces is gekoppeld.
  • exec () Deze methode voert het AutoIt-script (FileUpload.exe) uit.
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

De bovenstaande regel zal de aanroep doen AutoIt-script in Selenium en upload het bestand.

Bestand uploaden Selenium AutoIt gebruiken

Stap 2) Voer de Selenium schrift erin 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();
     }
}

Stap 3) Controleer de uitvoer; het bestand resume.doc is succesvol geรผpload en er wordt een bedankbericht weergegeven.

Bestand uploaden Selenium AutoIt gebruiken

Waarom AutoIt gebruiken?

Selenium AutoIt is een open source tool die is ontworpen om webapplicaties in verschillende browsers te automatiseren, maar voor het afhandelen van venster-GUI en niet-HTML-pop-ups in een applicatie is AutoIt een handige tool. Selenium is vereist omdat deze venstergebaseerde activiteiten niet worden afgehandeld door Selenium.

Gebruik AutoIt

In deze AutoIt-tutorial gaan we verder met het leren hoe je een bestand uploadt. Selenium WebDriver gebruiken met AutoIt. Hiervoor hebben we drie tools nodig.

  • Selenium webdriver
  • AutoIt-editor en element-identificatie
  • Het venster dat u wilt automatiseren

Veelgestelde vragen

Selenium WebDriver bestuurt alleen browserelementen. AutoIt handelt native elementen af. Windows Dialoogvensters zoals bestandsuploadvensters, downloadprompts en vensters voor basisverificatie waarmee de WebDriver niet rechtstreeks kan communiceren.

De Au3Info-tool inspecteert alle zichtbare Windows Het besturingselement onder de cursor retourneert de titel, klasse en instantiewaarden. Deze attributen worden direct gebruikt in de aanroepen van ControlFocus, ControlSetText en ControlClick.

Ja. Het .au3-bronbestand moet worden gecompileerd naar een .exe-bestand met de x86- of x64-optie die overeenkomt met uw computer. Selenium roept vervolgens het gecompileerde FileUpload.exe aan via Runtime.getRuntime().exec().

AutoIt is een Windows-alleen gereedschap. Voor macOS Voor bestandsdialoogvensters in Linux kunt u AppleScript, xdotool of sendKeys gebruiken met het bestandspad direct, aangezien deze besturingssystemen geen AutoIt-uitvoerbare bestanden ondersteunen.

AI-aangedreven tools zoals TestimFunctionize en Mabl gebruiken computervisie om native dialoogvensters te herkennen aan de hand van de visuele lay-out en genereren vervolgens automatisch locatorlogica. Dit vermindert de behoefte aan AutoIt-scripts bij het omgaan met instabiele of evoluerende omgevingen. Windows popups.

Ja. Grote taalmodellen zoals ChatGPT en Claude kunnen AutoIt-scripts genereren op basis van eenvoudige Engelse prompts die het doeldialoogvenster, de besturingselement-ID's en het uploadpad beschrijven. Testers kunnen deze scripts vervolgens verfijnen en compileren.

Vat dit bericht samen met: