AutoIT in Selenium Tutorial: Hoe gebruik je het?

Waar zit AutoIt in? Selenium?

AutoIt is een freeware scripttaal die is ontworpen voor het automatiseren van Windows GUI en algemene scripting. Het gebruikt een combinatie van muisbewegingen, toetsaanslagen en manipulatie van vensterbesturing om een ​​taak te automatiseren die niet mogelijk is met Selenium Webdriver.

Hoe AutoIT te downloaden en te installeren

Stap 1): Ga hierheen link.

Stap 2): Beweeg over de vervolgkeuzelijst 'Autoit' en '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 krijgt u twee installatiebestanden zoals weergegeven in het onderstaande scherm, de eerste is AutoIt-versie 3 opstelling en tweede is Scitautoit3 .

Download en installeer AutoIT

Stap 7): Voor het installeren van AutoIT-klik op beide AutoIT-instellingen één voor één.

Stap 8): Open na een succesvolle installatie AutoIT Editor.

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

Download en installeer AutoIT

en klik op het bestand 'SciTE.exe'. De AutoIT-editor wordt geopend zoals weergegeven in het onderstaande scherm.

Download en installeer AutoIT

Stap 9) : Opent nu element Identifier .

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

Download en installeer AutoIT

En klik op het bestand 'Au3Info.exe'. De element-ID wordt geopend zoals weergegeven in het onderstaande scherm.

Download en installeer AutoIT

Opmerking: Zodra u klaar bent met deze element-ID, moet u deze handmatig sluiten. Deze wordt niet automatisch gesloten.

Hoe AutoIT te gebruiken Selenium

Hieronder zullen we zien hoe we de AutoIT-editor kunnen gebruiken en hoe we elementen kunnen vinden in het bestandsuploadvenster via AutoIT Element Identifier (Element Identifier is een hulpmiddel zoals Selenium IDE, Identifier vindt het element van de GUI van het venster of niet-HTML-pop-ups en geeft het kenmerk van het element zoals titel, klasse, instantie ) en hoe u een script schrijft in de AutoIT-editor met behulp van 3 methoden.

Bijvoorbeeld: We zullen de “Schrijf naar ons”-pagina van guru99 gebruiken om CV (doc-bestand) te uploaden.

Nadat we op de knop 'Bestand kiezen' op de pagina 'Schrijf naar ons' hebben geklikt, moeten we het AutoIT-script oproepen. De besturing wordt onmiddellijk overgedragen naar autoit nadat u op 'Bestand kiezen' hebt geklikt door de onderstaande verklaring die zorgt voor het uploaden van een deel.

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

Als we ten slotte het Selenium-script uitvoeren, wordt het formulier ingevuld -> upload cv -> verzend formulier.

Gebruik AutoIT In Selenium

Stap 1): Open nu element-ID- Ga naar 'C:\Program Files (x86)\AutoIt3' en klik op het bestand 'Au3Info.exe'. Het element-ID-venster wordt geopend zoals weergegeven in het onderstaande scherm.

Gebruik AutoIT In Selenium

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

Gebruik AutoIT In Selenium

Stap 3): Sleep de Finder-tool naar het vakelement 'Bestandsnaam' in het venster Bestandsuploader om de basisattributeninfo te vinden, zoals weergegeven in het onderstaande scherm met de pijl.

Gebruik AutoIT In Selenium

We kunnen de waarde van attributen verkrijgen, dwz title='Openen', class='Bewerken' en instantie='1′ zoals hieronder weergegeven. Deze waarden worden gebruikt bij het schrijven van een AutoIT-scriptvoorbeeld, zoals uitgelegd in stap 4 hieronder.

Gebruik AutoIT 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 1st 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 volgens de vereisten, maar op dit moment zullen we ons concentreren op de onderstaande methoden, aangezien deze methoden vereist zijn voor het schrijven van een 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.

U kunt een aantal methoden zien die worden weergegeven zoals getoond in het onderstaande scherm. De goede eigenschap van AutoIT is dat het enigszins lijkt op Eclipse dat suggereert u enkele van de methoden.

Gebruik AutoIT 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.

Nu nemen we de waarden van de element-ID voor de methoden 'ControlFocus' en 'ControlSetText', omdat deze methoden op hetzelfde element werken (bijvoorbeeld het tekstvak 'Bestandsnaam'). Voor de methode 'ControlClick' moeten echter waarden van verschillende elementen worden vastgelegd (bijvoorbeeld de knop 'Openen').

Parameterwaarden voor ControleFocus methode:

Met deze methode wordt de focus op het tekstvak 'bestandsnaam' in het bestandsuploadvenster geplaatst.

  • 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′ dwz, . 'Bewerken1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Gebruik AutoIT In Selenium

Parameterwaarden voor ControleSetText methode:

Deze methode wordt gebruikt om het pad van een bestand te definiëren dat we moeten uploaden in het tekstvak 'bestandsnaam'. Op een andere manier kunnen we zeggen dat deze methode wordt gebruikt om de tekst in te stellen op het invoerelement.

  • 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′ dwz, "Edit1".
  • 4e parameter nieuwe tekst, we geven het pad door van het bestand dat we moeten uploaden.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.

Gebruik AutoIT In Selenium

Sluit na het volgen van de bovenstaande stap de vensters (editor en element-ID) niet, maar laat ze open. U moet het bestandsuploadervenster opnieuw openen om de kenmerken van de knop 'Openen' te vinden, zoals weergegeven in onderstaande stap 5.

Stap 5): Sleep nu het zoekhulpmiddel naar het knopelement "Openen" van het venster voor het uploaden van bestanden om de basisattribuutinformatie te vinden.

Vorige waarden (bijv. kenmerken van het tekstvak 'Bestandsnaam') worden overschreven met nieuwe waarden van de knop 'Openen'. U kunt zien dat het klassekenmerk nu is gewijzigd in 'knop', wat eerder 'bewerken' was in het AutoIT-elementidentificatievenster.

Gebruik AutoIT In Selenium

We kunnen de waarde van attributen verkrijgen, dwz title='Openen', class='Knop' en instantie='1′ zoals hieronder weergegeven. Deze waarden worden gebruikt bij het schrijven van het Autoit-script, zoals hieronder wordt uitgelegd.

Gebruik AutoIT 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 click on 'Open' button of file uploader.

Gebruik AutoIT In Selenium

Stap 6): U kunt in het onderstaande scherm zien dat het AutoIT-script is voltooid om de bestandsuploader af te handelen. Nu kunt u de element-ID sluiten en het script opslaan als " FileUpload " op de opgegeven locatie ( E:\AutoIT ).

Gebruik AutoIT In Selenium

Nu kunt u dit script niet rechtstreeks uitvoeren, u moet dit script compileren.

Voor het compileren van dit script heb je twee opties ” compileerscript x64 " En " compileerscript x86 “Als je een Windows 32-bits machine hebt, dan ga je met ” compileerscript x86 ” en voor een Windows 64-bits machine ga je met " compileerscript x64 . '

Gebruik AutoIT In Selenium

Stap 7): ‘FileUpload exe’ bestand gegenereerd na compilatie, kunt u zien in het onderstaande scherm. Nu kunnen we dit bestand gebruiken in Selenium webdriver-script.

Gebruik AutoIT In Selenium

Nu zullen we dit AutoIT-script gebruiken Selenium webstuurprogramma. Kijk hieronder voor de uitvoer.

Bestand uploaden Selenium met behulp van Autoit

In Selenium script, we vinden de elementen van het formulier en vullen de gegevens in elk element in zoals vereist en uploaden het 'resume.doc'-bestand door het AutoIT exe-bestand uit te voeren dat is gegenereerd op basis van het AutoIT-script en vervolgens het formulier in te dienen Selenium AutoIt-script.

  • Open Eclipse en begin met het schrijven van code.
  • Wanneer Selenium op de knop Bestand kiezen klikt, wordt het bestandsuploadvenster geopend.
  • Vervolgens moeten we het AutoIT-script aanroepen. De besturing wordt dan onmiddellijk naar AutoIT overgebracht om een ​​bestand te uploaden en vervolgens wordt de besturing teruggestuurd naar Selenium, zoals hieronder weergegeven.

Bestand uploaden Selenium Autoit gebruiken

Stap 1): Seleniumscript ontwikkelen in Eclipse.

  • Runtime class zorgt ervoor dat het script kan communiceren met de omgeving waarin het script wordt uitgevoerd.
  • getRuntime () haal de huidige runtime op die aan dit proces is gekoppeld.
  • exec () methoden voeren het AutoIT-script uit (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

bovenstaande lijn zal bellen AutoIT-script in selenium en upload het bestand.

Bestand uploaden Selenium Autoit gebruiken

Stap 2) : Voer de uit 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. Er wordt een bedankbericht weergegeven.

Bestand uploaden Selenium Autoit gebruiken

Waarom AutoIt gebruiken?

Selenium is een open source-tool die is ontworpen om webgebaseerde applicaties in verschillende browsers te automatiseren, maar om venster-GUI en niet-HTML-pop-ups in applicaties te verwerken. AutoIt in Selenium is vereist omdat deze venstergebaseerde activiteiten niet worden afgehandeld door Selenium.

Gebruik AutoIt

In deze AutoIt-tutorial leren we hoe we een bestand kunnen uploaden in Selenium Web Driver met behulp van AutoIt. Hiervoor hebben we drie tools nodig.

  • Selenium Webstuurprogramma
  • AutoIT-editor en element-ID
  • Het venster dat u wilt automatiseren

Conclusie

  • Element Identifier en AutoIT-editor gedownload en geïnstalleerd.
  • De site geopend waarop de bewerking uitgevoerd moet worden.
  • Element Identifier identificeert de elementen van het bestandsuploadervenster.
  • AutoIT-script in de editor voorbereid met behulp van Element-ID.
  • Autoit-script wordt gebruikt in Selenium WebDriver-script.
  • Selenium-script uitgevoerd.
  • Uitvoer: Het bestand is succesvol geüpload.