Sådan bruges AutoIT med Selenium Webdriver: Eksempel på filupload

Indholdsfortegnelse:

Anonim

Hvad er AutoIt?

AutoIt er et freeware-scriptingsprog designet til automatisering af Windows GUI og generel scripting. Det bruger en kombination af musebevægelse, tastetryk og manipulation af vinduesstyring til at automatisere en opgave, som ikke er mulig med selen webdriver.

I denne AutoIt-tutorial lærer du-

  • Hvorfor bruge AutoIt?
  • Sådan downloades og installeres AutoIT
  • Find element gennem element Identifier og skriv script på AutoIT editor.
  • AutoIT Upload fil i Selenium Webdriver

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 vindue-GUI og ikke-HTML-popups i applikation. AutoIt i Selen er påkrævet, da disse vinduesbaserede aktiviteter ikke håndteres af Selen.

Fortsat i denne AutoIt-tutorial lærer vi, hvordan du uploader en fil i selen webdriver ved hjælp af AutoIt. Her har vi brug for tre værktøjer til dette.

  • Selen Webdriver
  • AutoIT-editor og element-id
  • Det vindue, du vil automatisere

Sådan downloades og installeres AutoIT

Trin 1) : Gå til dette link.

Trin 2) : Hold markøren på rullemenuen 'Autoit' og 'Autoit Editor'.

Trin 3) Klik på 'AutoIT' Downloads-indstilling.

Trin 4) : Download "Autoit" ved at klikke på knappen "Download Autoit".

Trin 5) : Download nu "Autoit-editor" ved at klikke på knappen "Downloads".

Trin 6): Klik på linket som vist nedenfor.

Efter download får du to installationsfiler som vist på nedenstående skærm, først er AutoIt version 3 opsætning og anden er Scitautoit3 .

Trin 6) : For installation af AutoIT-klik på begge AutoIT-opsætningerne en efter en.

Trin 7) : Efter vellykket installation - åbn AutoIT Editor.

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

og klik på 'SciTE.exe' fil, AutoIT-editoren åbnes som vist på nedenstående skærm.

Trin 8) : Åbner nu element-id.

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

Og klik på 'Au3Info.exe' fil, element-id'et åbnes som vist på nedenstående skærm.

Bemærk: Når du er færdig med dette element-id, skal du lukke manuelt, lukker det ikke automatisk.

Find element gennem element Identifier og skriv script på AutoIT editor.

Under dette vil vi se, hvordan man bruger AutoIt-editor, og hvordan man finder element i filuploader-vindue gennem AutoIT Element Identifier (Element-id er et værktøj som selen IDE, identifikator finder elementet i vindue-GUI eller ikke-HTML-popups og giver attributten for element som titel , klasse , forekomst ) og hvordan man skriver script på AutoIT editor ved hjælp af 3 metoder.

For eksempel: Vi bruger siden "Skriv til os" i guru99 til at uploade CV (Doc-fil).

Efter at have klikket på knappen 'Vælg fil' fra siden "Skriv til os", skal vi kalde AutoIT-scriptet. Kontrollen overføres straks til autoit efter at have klikket på 'Vælg fil' ved nedenstående udsagn, der tager sig af upload af en del.

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

Endelig, når vi kører selen-script, udfylder det formularen-> upload CV-> Send formular.

Trin 1) : Åbn nu element-id - Gå til 'C: \ Program Files (x86) \ AutoIt3' og klik på 'Au3Info.exe' fil, element-id-vinduet åbnes som vist på nedenstående skærm.

Trin 2) : Åbn nu filoverførselsvinduet ved at klikke på 'Vælg fil', som er Windows-aktivitet.

Trin 3) : Træk søgeværktøjet til bokselementet "Filnavn" i filoverførselsvinduet for at finde de grundlæggende attributoplysninger som vist på nedenstående skærmbillede med pilen.

Vi kan få værdien af ​​attributter, dvs. title = 'Open' , class = 'Edit' og instance = '1' som vist nedenfor. Disse værdier bruges til at skrive AutoIT-scripteksempel som forklaret i trin 4 nedenfor.

Trin 4) : Nu åben AutoIt script editor, goto '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 valg af en fil, der skal uploades.

Der er mange tilgængelige metoder, som vi kan bruge i et script i henhold til kravet, men lige nu vil vi fokusere på nedenstående metoder, da disse metoder er nødvendige for at skrive filupload-script:

  1. ControlFocus ("titel", "tekst", controlID) // Indstiller inputfokus til et givet kontrolelement i et vindue.
  2. ControlSetText ("title", "text", controlID, "File path which need to upload") // Indstiller tekst til et kontrolelement.
  3. ControlClick ("title", "text", controlID) // Sender en museklikkommando til en given kontrol.

Du kan se, at en række metoder vises som vist på nedenstående skærm. Det gode ved AutoIT er, at det ligner Eclipse, der antyder nogle af metoderne.

Her i AutoIT-editoren har vi valgt "kontrolfokus" -metode. Element-id er allerede åbnet og minimeret, da elementet allerede er identificeret i ovenstående trin 3. Vi kan åbne det ved at maksimere det.

Nu tager vi værdierne fra element-id for 'ControlFocus' og 'ControlSetText' -metoder, da disse metoder fungerer på det samme element, dvs. tekstfeltet 'Filnavn', men for 'ControlClick' -metoden skal du registrere værdier for forskellige elementer, dvs. 'Åbn' knap.

Parameterværdier for ControlFocus- metoden:

Denne metode sætter fokus på 'filnavn' tekstfeltet i filuploader-vinduet.

  • 1. parameter titel er "Åbn".
  • Vi ignorerer 2. parameter, teksten er ikke påkrævet.
  • 3. parameter controlID er kombinationen af ​​class = 'Edit' og Instance = '1' dvs. 'Rediger1.'
    ControlFocus ("Åbn", "", "Rediger1") // Denne metode indstiller inputfokus til tekstfeltet 'Filnavn'. 

Parameterværdier for ControlSetText- metoden:

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 "Åbn".
  • Vi ignorerer 2. parameter, teksten er ikke påkrævet.
  • 3. parameter controlID er kombinationen af ​​class = 'Edit' og Instance = '1' dvs. "Edit1".
  • 4. parameter ny tekst, vi passerer stien til filen, som vi skal uploade.
    ControlSetText ("Open", "", "Edit1", "E: \ Resume \ resume.doc") // Denne metodes inputfilsti for en kontrol. 

Når du har fulgt ovenstående trin, skal du ikke lukke vinduerne (editor og element-id), men hold det åbent. Du skal igen åbne filuploader-vinduet for at finde attributter for knappen 'Åbn' som vist i trin 5 nedenfor.

Trin 5) : Træk nu søgeværktøjet på "Åbn" -knappens element i filuploader-vinduet for at finde de grundlæggende attributoplysninger.

Tidligere værdier (dvs. attributter til tekstfeltet 'Filnavn') overskrives med nye værdier for knappen 'Åbn'. Du kan se, at klasseattributten nu ændres til "knap", som tidligere var "rediger" i AutoIT-element-id-vinduet.

Vi kan få værdien af ​​attributter, dvs. title = 'Open' , class = 'Button' og instance = '1' som vist nedenfor. Disse værdier bruges til at skrive Autoit-script som forklaret nedenfor.

Parameterværdier for ControlClick- metoden:

Denne metode klikker på 'Åbn' -knappen i filoverførselsvinduet.

  • 1. parameter titel er "Åbn".
  • Vi ignorerer 2. parameter; den tekst er ikke påkrævet.
  • 3. parameter controlID er kombinationen af ​​klasse og instans, dvs. "Button1".
ControlClick ("Åbn", "", "Button1") // Denne metode klikker på "Åbn" -knappen for filuploader.

Trin 6) : Du kan se på nedenstående skærmbillede, at AutoIT-script er afsluttet for at håndtere filuploader. Nu kan du lukke element-id'en og gemme scriptet som "FileUpload" på det givne sted (E: \ AutoIT).

Nu kan du ikke udføre dette script direkte, du skal kompilere dette script.

Til kompilering af dette script har du to muligheder " kompilér script x64 " og " kompilér script x86 ", hvis du har Windows 32-bit maskine, skal du gå med " kompilere script x86" og til Windows 64-bit maskine så gå med " kompilere script x64 . "

Trin 7): 'FileUpload exe' -fil genereret efter kompilering, kan du se på nedenstående skærmbillede. Nu kan vi bruge denne fil i Selenium webdriver-script.

Nu bruger vi dette AutoIT-script i Selenium-webdriver. Tjek nedenfor for output.

AutoIT Upload fil i Selenium Webdriver

I Selenium-script finder vi elementerne i formularen og udfylder dataene i hvert element efter behov og uploader 'resume.doc' -fil ved at udføre AutoIT exe-fil genereret fra AutoIT-script og derefter tillade at indsende formularen i Selenium AutoIt-script.

  • Åbn Eclipse, og begynd at skrive kode.
  • Når selen klikker på knappen Vælg fil, åbnes filoverførselsfeltet.
  • Derefter er vi nødt til at ringe til AutoIT-scriptet, kontrollen overføres straks til AutoIT for at uploade en fil og derefter kontrollere send tilbage til selen som vist nedenfor.

Trin 1) : Udvikl selen-script i formørkelse.

  • Runtime- klasse tillader scriptet at grænseflade med det miljø, hvor scriptet kører.
  • getRuntime () få den aktuelle runtime tilknyttet denne proces.
  • exec () -metoder udfører AutoIT-scriptet (FileUpload.exe).
Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");

over linjen kalder AutoIT script i selen og upload fil.

Trin 2) : Udfør Selenium-scriptet i Eclipse.

importjava.io.IOException;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;offentlig klasse FileUpload {offentlig statisk ugyldig hoved (String [] args) kaster IOException {WebDriver-driver = ny FirefoxDriver ();driver.get ("http://demo.guru99.com/test/autoit.html");driver.findElement (By.id ("postjob")). klik ();driver.findElement (By.id ("input_3")). sendKeys ("Gaurav");driver.findElement (By.id ("id_4")). sendKeys (" Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.");driver.findElement (By.id ("input_4")). klik ();// under linjen udfør AutoIT-scriptet.Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");driver.findElement (By.id ("input_6")). sendKeys ("AutoIT i selen");driver.findElement (By.id ("input_2")). klik ();driver.close ();}}

Trin 3) : Bekræft output, resume.doc-filen, der blev uploadet med succes, og takbesked vises.

Konklusion:

  • Downloadet og installeret Element Identifier og AutoIT editor.
  • Åbnede det sted, hvor operationen skulle udføres.
  • Element-id identificerer elementerne i filuploader-vinduet.
  • Forberedt AutoIT-script i editoren ved hjælp af Element-id.
  • Autoit-script bruges i selen webdriver-script.
  • Udførte selen-scriptet.
  • Output: Filen blev uploadet.

Denne artikel er bidraget af Gaurav Nigam