AutoIT in Selenium Vodič: Kako ga koristiti?

⚡ Pametni sažetak

AutoIt u Selenium je besplatni skriptni jezik koji automatizira Windows GUI dijalozi i izvorni skočni prozori koji Selenium WebDriver ne može izravno kontrolirati, što ga čini glavnim pomagačem za prijenos datoteka, preuzimanje i upite za autentifikaciju.

  • 🤖 Svrha: AutoIt se proširuje Selenium rukovanjem Windowskontrole temeljene na -, izvorni dijalozi i skočni prozori koji nisu HTML do kojih WebDriver lokatori ne mogu doći.
  • 🪟 Identifikator elementa: Alat Au3Info pregledava kontrole prozora i otkriva atribute naslova, klase i instance koji se koriste za skriptiranje pouzdanih interakcija.
  • Osnovne metode: ControlFocus, ControlSetText i ControlClick čine minimalni skup potreban za popunjavanje putanja i slanje izvornih dijaloga za prijenos datoteka.
  • Integracija: Kompilirani FileUpload.exe se pokreće iz Selenium s Runtime.getRuntime().exec(), besprijekornim prosljeđivanjem kontrole AutoItu i natrag.
  • 🧪 Praktična upotreba: Vodič prenosi životopis na Guru99 demo obrazac, provjera od početka do kraja Selenium plus AutoIt automatizacijski tok.

AutoIT in Selenium

U čemu je AutoIt Selenium?

AutoIt je besplatni skriptni jezik dizajniran za automatizaciju Windows Grafičko korisničko sučelje i opće skriptiranje. Koristi kombinaciju pokreta miša, pritisaka tipki i manipulacije kontrolama prozora za automatizaciju zadatka koji nije moguć Selenium WebDriver.

Kako preuzeti i instalirati AutoIt

Korak 1) Idi na ovo link.

Korak 2) Zadržite pokazivač miša iznad padajućeg izbornika 'AutoIt' i 'AutoIt Editor'.

Preuzmite i instalirajte AutoIt

Korak 3) Kliknite na opciju preuzimanja 'AutoIt'.

Preuzmite i instalirajte AutoIt

Korak 4) Preuzmite "AutoIt" ​​klikom na gumb 'Preuzmi AutoIt'.

Preuzmite i instalirajte AutoIt

Korak 5) Sada preuzmite "AutoIt editor" klikom na gumb "Preuzimanja".

Preuzmite i instalirajte AutoIt

Korak 6) Kliknite na vezu kao što je prikazano u nastavku.

Preuzmite i instalirajte AutoIt

Nakon preuzimanja dobit ćete dvije instalacijske datoteke kao što je prikazano na donjem zaslonu, prva je AutoIt verzija 3 postava i drugi je Scitautoit3.

Preuzmite i instalirajte AutoIt

Korak 7) Za instalaciju AutoIta, kliknite na obje postavke AutoIta jednu po jednu.

Korak 8) Nakon uspješne instalacije, otvorite AutoIt Editor.

Idite na 'C:\Program Files (x86)\AutoIt3\SciTE'

Preuzmite i instalirajte AutoIt

I kliknite na datoteku 'SciTE.exe', otvara se AutoIt editor kao što je prikazano na donjoj slici.

Preuzmite i instalirajte AutoIt

Korak 9) Sada otvorite identifikator elementa.

Idite na 'C:\Program Files (x86)\AutoIt3'

Preuzmite i instalirajte AutoIt

I kliknite na datoteku 'Au3Info.exe', identifikator elementa se otvara kao što je prikazano na donjoj slici.

Preuzmite i instalirajte AutoIt

Bilješka: Nakon što završite s ovim identifikatorom elementa, morate ga ručno zatvoriti; neće se automatski zatvoriti.

Kako koristiti AutoIt u Selenium

U nastavku ćemo vidjeti kako koristiti AutoIt editor i kako pronaći element u prozoru za učitavanje datoteka putem AutoIt identifikatora elementa (identifikator elementa je alat poput Selenium IDE; identifikator pronalazi element prozorskog grafičkog korisničkog sučelja ili skočnih prozora koji nisu HTML i pruža atribut elementa kao što je naslov, razred, primjer) i kako napisati skriptu u AutoIt editoru pomoću 3 metode.

Na primjer: Koristit ćemo stranicu „Pišite nam“ Guru99 za prijenos životopisa (Doc datoteka).

Nakon što kliknemo na gumb 'Odaberi datoteku' na stranici "Pišite nam", moramo pozvati skriptu AutoIt. Kontrola se odmah prenosi na AutoIt nakon klika na 'Odaberi datoteku' putem donje naredbe, koja se brine za dio učitavanja.

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

Konačno, kada pokrenemo Selenium skripta, ispunit će obrazac-> prenijeti životopis-> poslati obrazac.

Koristite AutoIt In Selenium

Korak 1) Sada otvorite Identifikator elementa. Idite na 'C:\Program Files (x86)\AutoIt3' i kliknite na datoteku 'Au3Info.exe', otvorit će se prozor identifikatora elementa kao što je prikazano na donjoj slici.

Koristite AutoIt In Selenium

Korak 2) Sada otvorite prozor za prijenos datoteka klikom na 'Odaberi datoteku', što je Windows aktivnost.

Koristite AutoIt In Selenium

Korak 3) Povucite alat za traženje na element okvira "Naziv datoteke" u prozoru za prijenos datoteka kako biste pronašli osnovne podatke o atributima kao što je prikazano na donjem zaslonu sa strelicom.

Koristite AutoIt In Selenium

Možemo dobiti vrijednost atributa, tj. title='Otvoreno', class='Uredi' i primjer='1′ kao što je prikazano u nastavku. Ove vrijednosti se koriste u pisanju primjera skripte AutoIt kao što je objašnjeno u koraku 4 u nastavku.

Koristite AutoIt In Selenium

Korak 4) Sada otvorite AutoIt uređivač skripti, idite na 'C:\Program Files (x86)\AutoIt3\SciTE' i kliknite na 'SciTE.exe' kao što je prikazano u koraku 7 od 1st tema.

Počnite pisati skriptu za odabir datoteke za učitavanje.

Postoji mnogo dostupnih metoda koje možemo koristiti u skripti prema zahtjevu, ali sada ćemo se usredotočiti na dolje navedene metode jer su te metode potrebne za pisanje skripte za prijenos datoteka:

  1. ControlFocus(” naslov “,” tekst “,controlID ) //Postavlja fokus unosa na danu kontrolu na prozoru.
  2. ControlSetText(” naslov “,” tekst “,controlID,” Put do datoteke koju je potrebno učitati ” ) // Postavlja tekst kontrole.
  3. ControlClick(” naslov “,” tekst “,controlID ) //Šalje naredbu klika mišem danoj kontroli.

Možete vidjeti niz prikazanih metoda kao što je prikazano na donjem zaslonu. Dobra značajka AutoIta je da je donekle sličan Eclipse što sugerira neke od metoda.

Koristite AutoIt In Selenium

Ovdje u AutoIt editoru smo odabrali “kontrolni fokus” metoda. Identifikator elementa već je otvoren i minimiziran jer je element već identificiran u gornjem koraku 3. Možemo ga otvoriti maksimiziranjem.

Sada ćemo uzeti vrijednosti iz identifikatora elementa za metode 'ControlFocus' i 'ControlSetText' jer ove metode rade na istom elementu, tj. tekstualnom okviru 'Naziv datoteke', ali za metodu 'ControlClick' moramo uhvatiti vrijednosti drugog elementa, tj. gumba 'Otvori'.

Vrijednosti parametara za ControlFocus metoda:

Ova metoda postavlja fokus na tekstualno polje 'Naziv datoteke' u prozoru za prijenos datoteka.

  • 1. parametar naslov otvoreno je ".
  • Drugi parametar zanemarujemo, tj. tekst nije potrebno.
  • 3. parametar kontrolni ID je kombinacija class='Edit' i Instance='1′, tj. 'Edit1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Koristite AutoIt In Selenium

Vrijednosti parametara za ControlSetText metoda:

Ova metoda se koristi za definiranje putanje datoteke koju trebamo prenijeti u tekstualno polje 'Naziv datoteke'. Drugim riječima, možemo reći da se ova metoda koristi za postavljanje teksta u ulazni element.

  • 1. parametar naslov otvoreno je ".
  • Drugi parametar zanemarujemo, tj. tekst nije potrebno.
  • 3. parametar kontrolni ID je kombinacija class='Edit' i Instance='1′, tj. ” Edit1 “.
  • 4. parametar novi tekst, prosljeđujemo putanju datoteke koju trebamo prenijeti.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Koristite AutoIt In Selenium

Nakon što ste slijedili gornji korak, nemojte zatvarati prozore (uređivač i identifikator elementa); ostavite ih otvorenima. Ponovno morate otvoriti prozor za prijenos datoteka kako biste pronašli atribute gumba 'Otvori' kao što je prikazano u 5. koraku ispod.

Korak 5) Sada povucite alat za traženje na element gumba "Otvori" u prozoru za prijenos datoteka kako biste pronašli osnovne podatke o atributima.

Prethodne vrijednosti (tj. atributi tekstualnog okvira 'Naziv datoteke') prepisuju se novim vrijednostima gumba 'Otvori'. Možete vidjeti da je atribut klase sada promijenjen u "gumb", što je prije bilo "uredi" u prozoru identifikatora elementa AutoIt.

Koristite AutoIt In Selenium

Možemo dobiti vrijednost atributa, tj. title='Otvoreno', class='Gumb' i primjer='1′ kao što je prikazano u nastavku. Ove vrijednosti se koriste u pisanju AutoIt skripte kao što je objašnjeno u nastavku.

Koristite AutoIt In Selenium

Vrijednosti parametara za ControlClick metoda:

Ova metoda uključuje klik na gumb 'Otvori' u prozoru za prijenos datoteka.

  • 1. parametar naslov otvoreno je ".
  • Drugi parametar zanemarujemo, tj. tekst nije potrebno.
  • 3. parametar kontrolni ID je kombinacija klase i instance, tj. "Gumb1".
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Koristite AutoIt In Selenium

Korak 6) Na donjoj slici možete vidjeti da je skripta AutoIt dovršena za rukovanje programom za prijenos datoteka. Sada možete zatvoriti identifikator elementa i spremiti skriptu kao "FileUpload" na zadanu lokaciju (E:\AutoIT).

Koristite AutoIt In Selenium

Sada ne možete izravno izvršiti ovu skriptu; morate je kompajlirati.

Za kompajliranje ove skripte imate dvije mogućnosti “prevesti skriptu x64"A"prevesti skriptu x86"Ako imate Windows 32-bitni stroj, onda idite na "prevesti skriptu x86"i za Windows 64-bitni stroj, idite na "prevesti skriptu x64".

Koristite AutoIt In Selenium

Korak 7) 'Datoteka za prijenos datoteka.exe' datoteka se generira nakon kompilacije; možete je vidjeti na donjoj slici. Sada možemo koristiti ovu datoteku u Selenium Skripta WebDrivera.

Koristite AutoIt In Selenium

Sada ćemo koristiti ovaj AutoIt skript u Selenium WebDriver. Provjerite dolje za izlaz.

Prijenos datoteke u Selenium Korištenje AutoIta

U Selenium skriptom, pronalazimo elemente obrasca i ispunjavamo podatke u svakom elementu prema potrebi te prenosimo datoteku 'resume.doc' izvršavanjem AutoIt exe datoteke generirane iz AutoIt skripte, a zatim dopuštamo slanje obrasca u Selenium AutoIt skripta.

  • Otvoren Eclipse i počnite pisati kod.
  • Kada Selenium Klikom na gumb Odaberi datoteku otvara se okvir za prijenos datoteka.
  • Zatim moramo pozvati AutoIt skriptu; kontrola se odmah prenosi na AutoIt kako bi se datoteka prenijela, a zatim se kontrola šalje natrag na Selenium kao što je prikazano u nastavku.

Prijenos datoteke u Selenium Korištenje AutoIta

Korak 1) Razviti Selenium skripta u Eclipse.

  • dužina trajanja klasa omogućuje skripti povezivanje s okolinom u kojoj se skripta izvodi.
  • getRuntime () dobiva trenutno vrijeme izvođenja povezano s ovim procesom.
  • exec() Metoda izvršava AutoIt skriptu (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Gornji redak će pozvati AutoIt skripta in Selenium i prenesite datoteku.

Prijenos datoteke u Selenium Korištenje AutoIta

Korak 2) Izvršite Selenium skripta u 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();
     }
}

Korak 3) Provjerite izlaz; datoteka resume.doc je uspješno prenesena i prikazat će se poruka zahvale.

Prijenos datoteke u Selenium Korištenje AutoIta

Zašto koristiti AutoIt?

Selenium je alat otvorenog koda dizajniran za automatizaciju web aplikacija na različitim preglednicima, ali za rukovanje grafičkim korisničkim sučeljem prozora i skočnim prozorima koji nisu HTML u aplikaciji, AutoIt u Selenium je potrebno jer se ove aktivnosti temeljene na prozoru ne obrađuju od strane Selenium.

Koristite AutoIt

U ovom AutoIt tutorijalu, naučit ćemo kako prenijeti datoteku u Selenium WebDriver pomoću AutoIta. Ovdje su nam potrebna tri alata kako bismo to učinili.

  • Selenium webdriver
  • AutoIt editor i identifikator elementa
  • Prozor koji želite automatizirati

Pitanja i odgovori

Selenium WebDriver kontrolira samo elemente preglednika. AutoIt obrađuje izvorne elemente. Windows dijalozi poput okvira za prijenos datoteka, upita za preuzimanje i osnovnih prozora za autentifikaciju s kojima WebDriver ne može izravno komunicirati.

Alat Au3Info pregledava sve vidljive Windows kontrola ispod kursora i vraća vrijednosti naslova, klase i instance. Ti atributi se izravno prenose u pozive ControlFocus, ControlSetText i ControlClick.

Da. Izvorni .au3 kod mora se kompajlirati u .exe datoteku koristeći opciju x86 ili x64 koja odgovara vašem računalu. Selenium zatim poziva kompilirani FileUpload.exe putem Runtime.getRuntime().exec().

AutoTo je Windows-jedini alat. Za macOS ili dijaloge za datoteke u Linuxu, koristite AppleScript, xdotool ili sendKeys izravno s putanjom datoteke, budući da ti operativni sustavi ne podržavaju izvršne datoteke AutoIt-a.

Alati pokretani umjetnom inteligencijom poput Testim, Functionize i Mabl koriste računalni vid za prepoznavanje izvornih dijaloga prema vizualnom rasporedu, a zatim automatski generiraju logiku lokatora. To smanjuje potrebu za AutoIt skriptama pri rukovanju nestabilnim ili promjenjivim dijalozima. Windows skočni prozori.

Da. Veliki jezični modeli poput ChatGPT-a i Claudea mogu generirati AutoIt skripte iz jednostavnih engleskih upita koji opisuju ciljni dijalog, ID-ove kontrola i put prijenosa, koje testeri zatim mogu pročistiti i kompajlirati.

Sažmite ovu objavu uz: