AutoIT w Selenium Poradnik: Jak z niego korzystać?

⚡ Inteligentne podsumowanie

AutoIt w Selenium jest darmowym językiem skryptowym, który automatyzuje Windows Dialogi GUI i natywne wyskakujące okienka, które Selenium WebDriver nie może sterować bezpośrednio, co czyni go narzędziem pomocniczym w przesyłaniu plików, pobieraniu ich i wyświetlaniu monitów uwierzytelniania.

  • 🤖 Cel: AutoIt rozszerza Selenium przez obsługę Windowsoparte na HTML, natywne okna dialogowe i wyskakujące okienka inne niż HTML, do których lokalizatory WebDriver nie mogą dotrzeć.
  • 🪟 Identyfikator elementu: Narzędzie Au3Info sprawdza kontrolki okien i ujawnia atrybuty tytułu, klasy i instancji używane do tworzenia niezawodnych interakcji skryptowych.
  • ⚙️ Metody podstawowe: ControlFocus, ControlSetText i ControlClick stanowią minimalny zestaw wymagany do wypełniania ścieżek i wysyłania natywnych okien dialogowych przesyłania plików.
  • Integracja: Skompilowany plik FileUpload.exe jest uruchamiany z Selenium za pomocą Runtime.getRuntime().exec(), przekazując kontrolę do AutoIt i z powrotem.
  • 🧪 Praktyczne użycie: Przewodnik przesyła CV na Guru99 formularz demonstracyjny, weryfikacja kompleksowa Selenium plus przepływ automatyzacji AutoIt.

AutoIT w Selenium

W czym jest AutoIt Selenium?

AutoIt jest darmowym językiem skryptowym przeznaczonym do automatyzacji Windows Interfejs graficzny użytkownika i ogólne skrypty. Wykorzystuje połączenie ruchu myszy, naciśnięć klawiszy i sterowania oknem, aby zautomatyzować zadanie, które nie jest możliwe w przypadku… Selenium Sterownik sieciowy.

Jak pobrać i zainstalować AutoIt

Krok 1) Idź do tego łącze.

Krok 2) Najedź kursorem na „AutoIt” i rozwijaną listę „Edytor AutoIt”.

Pobierz i zainstaluj AutoIt

Krok 3) Kliknij opcję pobierania „AutoIt”.

Pobierz i zainstaluj AutoIt

Krok 4) Pobierz „AutoIt” klikając przycisk „Pobierz AutoIt”.

Pobierz i zainstaluj AutoIt

Krok 5) Teraz pobierz „AutoIt editor” klikając przycisk „Pobierz”.

Pobierz i zainstaluj AutoIt

Krok 6) Kliknij link, jak pokazano poniżej.

Pobierz i zainstaluj AutoIt

Po pobraniu otrzymasz dwa pliki instalacyjne pokazane na poniższym ekranie, pierwszy to Wersja Auto It 3 konfiguracja, a drugie to Scitautoit3.

Pobierz i zainstaluj AutoIt

Krok 7) Aby zainstalować AutoIt, kliknij kolejno obydwa instalatory AutoIt.

Krok 8) Po pomyślnej instalacji otwórz edytor AutoIt.

Przejdź do „C:\Program Files (x86)\AutoIt3\SciTE”

Pobierz i zainstaluj AutoIt

Następnie kliknij plik „SciTE.exe”, a otworzy się edytor AutoIt, jak pokazano na poniższym ekranie.

Pobierz i zainstaluj AutoIt

Krok 9) Teraz otwórz element Identyfikator.

Przejdź do 'C:\Pliki programów (x86)\AutoIt3'

Pobierz i zainstaluj AutoIt

Następnie kliknij plik „Au3Info.exe”, a identyfikator elementu otworzy się tak, jak pokazano na poniższym ekranie.

Pobierz i zainstaluj AutoIt

Uwaga: Po zakończeniu pracy z tym identyfikatorem elementu należy go zamknąć ręcznie. Nie zamknie się on automatycznie.

Jak korzystać z AutoIt w Selenium

W tym artykule pokażemy, jak używać edytora AutoIt i jak znaleźć element w oknie programu do przesyłania plików za pomocą identyfikatora elementu AutoIt (Identyfikator elementu to narzędzie takie jak Selenium IDE; identyfikator wyszukuje element okna GUI lub wyskakujących okienek innych niż HTML i podaje atrybut elementu, np. tytuł, klasa, przykład) i jak napisać skrypt w edytorze AutoIt korzystając z 3 metod.

Na przykład: Będziemy korzystać ze strony „Napisz do nas” Guru99, aby przesłać CV (plik Doc).

Po kliknięciu przycisku „Wybierz plik” na stronie „Napisz do nas” musimy wywołać skrypt AutoIt. Sterowanie jest natychmiast przenoszone do AutoIt po kliknięciu „Wybierz plik” za pomocą poniższego polecenia, które zajmuje się przesyłaniem.

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

Na koniec, kiedy uruchomimy Selenium skrypt, wypełni formularz-> prześlij CV-> wyślij formularz.

Użyj AutoIt w Selenium

Krok 1) Teraz otwórz Identyfikator elementu. Przejdź do „C:\Program Files (x86)\AutoIt3” i kliknij plik „Au3Info.exe”. Otworzy się okno Identyfikatora elementu, jak pokazano na poniższym ekranie.

Użyj AutoIt w Selenium

Krok 2) Teraz otwórz okno programu do przesyłania plików, klikając „Wybierz plik”, które jest Windows aktywności.

Użyj AutoIt w Selenium

Krok 3) Przeciągnij narzędzie wyszukiwania na pole „Nazwa pliku” w oknie programu do przesyłania plików, aby znaleźć podstawowe informacje o atrybutach, jak pokazano na poniższym ekranie za pomocą strzałki.

Użyj AutoIt w Selenium

Możemy uzyskać wartość atrybutów, tj. tytuł = „Otwarte”, klasa='Edycja' oraz instancja='1' jak pokazano poniżej. Wartości te są używane w przykładowym skrypcie AutoIt, jak wyjaśniono w kroku 4 poniżej.

Użyj AutoIt w Selenium

Krok 4) Teraz otwórz edytor skryptów AutoIt, przejdź do „C:\Program Files (x86)\AutoIt3\SciTE” i kliknij „SciTE.exe”, jak pokazano w kroku 7 od 1.st temat.

Zacznij pisać skrypt wybierający plik do przesłania.

Dostępnych jest wiele metod, których możemy użyć w skrypcie zależnie od potrzeb, ale teraz skupimy się na poniższych metodach, ponieważ są one wymagane do napisania skryptu do przesyłania plików:

  1. Kontrola ostrości(„tytuł”, „tekst”, IDkontroli) //Ustawia fokus wejściowy na daną kontrolkę w oknie.
  2. Tekst zestawu kontrolnego(„tytuł”, „tekst”, „controlID”, „Ścieżka pliku, który należy przesłać”) // Ustawia tekst kontrolki.
  3. KontrolaKliknij(„tytuł”, „tekst”, IDkontroli) //Wysyła polecenie kliknięcia myszą do danej kontrolki.

Na poniższym ekranie możesz zobaczyć kilka metod. Zaletą AutoIt jest to, że jest nieco podobny do… Eclipse co sugeruje niektóre metody.

Użyj AutoIt w Selenium

Tutaj w edytorze AutoIt wybraliśmy „kontroluj ostrość” metoda. Identyfikator elementu jest już otwarty i zminimalizowany, ponieważ element został już zidentyfikowany w powyższym kroku 3. Możemy go otworzyć maksymalizując.

Teraz pobierzemy wartości z identyfikatora elementu dla metod „ControlFocus” i „ControlSetText”, ponieważ metody te działają na tym samym elemencie, tj. polu tekstowym „Nazwa pliku”, ale w przypadku metody „ControlClick” musimy przechwycić wartości innego elementu, tj. przycisku „Otwórz”.

Wartości parametrów dla Kontrola ostrości metoda:

Ta metoda ustawia fokus na polu tekstowym „Nazwa pliku” w oknie programu do przesyłania plików.

  • 1. parametr tytuł jest otwarte ".
  • Ignorujemy drugi parametr, XNUMX Nie jest wymagane.
  • Trzeci parametr identyfikator kontrolny jest kombinacją klasy='Edit' i instancji='1′, tj. 'Edit1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Użyj AutoIt w Selenium

Wartości parametrów dla Tekst zestawu kontrolnego metoda:

Ta metoda służy do zdefiniowania ścieżki do pliku, który chcemy przesłać, w polu tekstowym „Nazwa pliku”. Innymi słowy, metoda ta służy do ustawienia tekstu w elemencie wejściowym.

  • 1. parametr tytuł jest otwarte ".
  • Ignorujemy drugi parametr, XNUMX Nie jest wymagane.
  • Trzeci parametr identyfikator kontrolny jest kombinacją klasy='Edit' i instancji='1′, tj. „Edit1”.
  • 4. parametr nowy tekst, podajemy ścieżkę do pliku, który chcemy przesłać.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Użyj AutoIt w Selenium

Po wykonaniu powyższego kroku nie zamykaj okien (edytora i identyfikatora elementu); pozostaw je otwarte. Ponownie otwórz okno programu do przesyłania plików, aby znaleźć atrybuty przycisku „Otwórz”, jak pokazano w kroku 5 poniżej.

Krok 5) Teraz przeciągnij narzędzie wyszukiwania na przycisk „Otwórz” w oknie programu do przesyłania plików, aby znaleźć podstawowe informacje o atrybutach.

Poprzednie wartości (tj. atrybuty pola tekstowego „Nazwa pliku”) są nadpisywane nowymi wartościami przycisku „Otwórz”. Widać, że atrybut klasy został zmieniony na „przycisk”, który wcześniej był „edytowany” w oknie identyfikatora elementu AutoIt.

Użyj AutoIt w Selenium

Możemy uzyskać wartość atrybutów, tj. tytuł = „Otwarte”, klasa='Przycisk' oraz instancja='1' jak pokazano poniżej. Wartości te są używane podczas pisania skryptu AutoIt, jak wyjaśniono poniżej.

Użyj AutoIt w Selenium

Wartości parametrów dla KontrolaKliknij metoda:

Ta metoda polega na kliknięciu przycisku „Otwórz” w oknie programu do przesyłania plików.

  • 1. parametr tytuł jest otwarte ".
  • Ignorujemy drugi parametr; XNUMX Nie jest wymagane.
  • Trzeci parametr identyfikator kontrolny jest kombinacją klasy i instancji, tj. „Przycisk1”.
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Użyj AutoIt w Selenium

Krok 6) Na poniższym ekranie widać, że skrypt AutoIt został ukończony i obsługuje przesyłanie plików. Teraz możesz zamknąć identyfikator elementu i zapisać skrypt jako „FileUpload” w podanej lokalizacji (E:\AutoIT).

Użyj AutoIt w Selenium

Teraz nie możesz wykonać tego skryptu bezpośrednio; musisz go skompilować.

Aby skompilować ten skrypt, masz dwie opcje:skompiluj skrypt x64"I"skompiluj skrypt x86„Jeśli masz Windows 32-bitowa maszyna, a następnie wybierz „skompiluj skrypt x86„i dla Windows Maszyna 64-bitowa, wybierz „skompiluj skrypt x64".

Użyj AutoIt w Selenium

Krok 7) 'FileUpload.exe' Plik jest generowany po kompilacji; można go zobaczyć na poniższym ekranie. Teraz możemy użyć tego pliku w Selenium Skrypt WebDriver.

Użyj AutoIt w Selenium

Teraz użyjemy tego skryptu AutoIt w Selenium WebDriver. Sprawdź poniżej wynik.

Prześlij plik w Selenium Korzystanie z AutoIt

W Selenium skrypt, znajdujemy elementy formularza i wypełniamy każdy element danymi zgodnie z wymaganiami, a następnie przesyłamy plik „resume.doc” poprzez uruchomienie pliku exe AutoIt wygenerowanego ze skryptu AutoIt, a następnie umożliwiamy przesłanie formularza w Selenium Skrypt AutoIt.

  • Otwarte Eclipse i zacznij pisać kod.
  • Kiedy Selenium po kliknięciu przycisku Wybierz plik otwiera się okno narzędzia do przesyłania plików.
  • Następnie musimy wywołać skrypt AutoIt; sterowanie zostanie natychmiast przeniesione do AutoIt w celu przesłania pliku, a następnie sterowanie zostanie odesłane do Selenium jak pokazano poniżej.

Prześlij plik w Selenium Korzystanie z AutoIt

Krok 1) Rozwój Selenium skrypt w Eclipse.

  • Czas pracy class umożliwia skryptowi komunikację ze środowiskiem, w którym skrypt jest uruchomiony.
  • getRuntime () pobiera bieżący czas wykonania skojarzony z tym procesem.
  • Exec () Metoda wykonuje skrypt AutoIt (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Powyższy wiersz wywoła Skrypt AutoIt in Selenium i prześlij plik.

Prześlij plik w Selenium Korzystanie z AutoIt

Krok 2) Wykonaj Selenium skrypt w 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();
     }
}

Krok 3) Sprawdź dane wyjściowe; plik resume.doc został pomyślnie przesłany, a na ekranie pojawi się komunikat z podziękowaniem.

Prześlij plik w Selenium Korzystanie z AutoIt

Dlaczego warto używać AutoIt?

Selenium jest narzędziem typu open source przeznaczonym do automatyzacji aplikacji internetowych w różnych przeglądarkach, ale także do obsługi interfejsu graficznego okna i wyskakujących okienek innych niż HTML w aplikacji, AutoIt w Selenium jest wymagane, ponieważ te działania oparte na oknach nie są obsługiwane przez Selenium.

Użyj AutoIt'a

W dalszej części tego samouczka AutoIt nauczymy się, jak przesłać plik w Selenium WebDriver z wykorzystaniem AutoIt. Potrzebujemy do tego trzech narzędzi.

  • Selenium Sterownik sieciowy
  • Edytor AutoIt i identyfikator elementu
  • Okno, które chcesz zautomatyzować

FAQ

Selenium WebDriver kontroluje tylko elementy przeglądarki. AutoIt obsługuje natywne Windows okna dialogowe, takie jak pola przesyłania plików, monity pobierania i podstawowe okna uwierzytelniania, z którymi WebDriver nie może bezpośrednio wchodzić w interakcję.

Narzędzie Au3Info sprawdza wszystkie widoczne Windows Kontrolka pod kursorem i zwraca jej tytuł, klasę i wartości instancji. Atrybuty te są bezpośrednio przekazywane do wywołań ControlFocus, ControlSetText i ControlClick.

Tak. Plik źródłowy .au3 musi zostać skompilowany do pliku .exe przy użyciu opcji x86 lub x64 odpowiedniej dla Twojego komputera. Selenium następnie wywołuje skompilowany FileUpload.exe poprzez Runtime.getRuntime().exec().

AutoIt jest Windows-jedyne narzędzie. Do macOS lub w oknach dialogowych plików systemu Linux należy używać AppleScript, xdotool lub sendKeys, podając bezpośrednio ścieżkę do pliku, ponieważ te systemy operacyjne nie obsługują plików wykonywalnych AutoIt.

Narzędzia oparte na sztucznej inteligencji, takie jak Testim, Functionize i Mabl wykorzystują wizję komputerową do rozpoznawania natywnych okien dialogowych na podstawie układu wizualnego, a następnie automatycznie generują logikę lokalizatora. Zmniejsza to potrzebę stosowania skryptów AutoIt podczas obsługi wersji niestabilnych lub ewoluujących. Windows popups.

Tak. Duże modele językowe, takie jak ChatGPT i Claude, mogą generować skrypty AutoIt z prostych komunikatów w języku angielskim opisujących okno dialogowe docelowe, identyfikatory kontrolek i ścieżkę przesyłania, które testerzy mogą następnie udoskonalić i skompilować.

Podsumuj ten post następująco: