Potwierdź i zweryfikuj w Selenium IDE

⚡ Inteligentne podsumowanie

Selenium IDE ze skryptami i poleceniami pozwala testerom rejestrować, edytować i odtwarzać działania przeglądarki za pomocą Selenese – lekkiego języka poleceń IDE. W tym artykule omówiono rejestrowanie skryptu, ręczne pisanie Selenese, wybór między poleceniami Assert i Verify oraz debugowanie z punktami przerwania.

  • 🎬 Nagraj najpierw: Selenium IDE automatycznie rejestruje kliknięcia, dane wejściowe i potwierdzenia podczas korzystania z przeglądarki.
  • 🧩 Język seleński: Każde polecenie ma nazwę polecenia, opcjonalny cel i opcjonalną wartość — nigdy nie więcej niż dwa parametry.
  • 🛑 Potwierdź kontra zweryfikuj: Assert zatrzymuje test w przypadku niepowodzenia; Verify rejestruje błąd i przechodzi do następnego kroku.
  • 🔍 Trzy typy poleceń: Akcje wchodzą w interakcję ze stroną, Akcesory odczytują stan do zmiennych, Asercje sprawdzają warunki.
  • 🐞 Pomoc debugowania: Użyj opcji Wykonaj polecenie, Punkt początkowy, Punkty przerwania i Krok, aby sprawdzić lub ponownie uruchomić pojedyncze polecenie na raz.
  • 🤖 Wzmocnienie AI: Narzędzia do testowania AI automatycznie generują Selenese, sugerują solidne lokalizatory i konwertują skrypty IDE na Selenium Kod WebDriver.

Jak złamać (zhakować) hasło?

Użyjemy Mercury Strona internetowa Tours jako nasza testowana aplikacja internetowa. To internetowy system rezerwacji lotów, który zawiera wszystkie elementy potrzebne do tego samouczka. Jego podstawą jest… URL is https://demo.guru99.com/test/newtours/.

Stwórzmy teraz nasz pierwszy skrypt testowy w Selenium IDE, wykorzystując najpopularniejszą metodę – nagrywanie. Następnie uruchomimy skrypt, korzystając z funkcji odtwarzania.

Uwaga: W tym samouczku wykorzystano klasyczną Firefox-tylko Selenium IDE 1.x z Firebugiem wprowadza podstawy Selenese. Firebug został wycofany w Firefox 57 i współczesny Selenium IDE jest teraz Chrome'em / Firefox / Rozszerzenie przeglądarki Edge z innym interfejsem użytkownika. Poniższe koncepcje Selenese, typy poleceń i funkcje debugowania nadal mają zastosowanie bezpośrednio w nowym środowisku IDE.

Utwórz skrypt poprzez nagranie

Krok 1)

  • Premiera Firefox oraz Selenium SDI.
  • Wpisz wartość dla naszej bazy URL: https://demo.guru99.com/test/newtours/.
  • TogglWłącz przycisk Nagrywaj (jeśli nie jest domyślnie włączony).

Selenium IDE z bazą URL przycisk Ustaw i Nagraj jest włączony

Krok 2) In Firefox, nawigować do https://demo.guru99.com/test/newtours/. Firefox powinien trafić na stronę podobną do tej poniżej.

Mercury Strona główna wycieczek w Firefox

Krok 3)

  • Kliknij prawym przyciskiem myszy dowolne puste miejsce na stronie — na przykład na Mercury Logo wycieczek w lewym górnym rogu. To otwiera Selenium Menu kontekstowe IDE. Czy nie Kliknij na dowolny obiekt lub obraz będący hiperłączem.
  • Wybierz Pokaż dostępne polecenia opcja.
  • Dodaj assertTitle exact: Welcome: Mercury ToursTo polecenie sprawdza, czy tytuł strony jest poprawny.

Selenium Menu kontekstowe IDE z opcją Pokaż dostępne polecenia

Selenium Edytor IDE pokazujący dodane polecenie assertTitle

Krok 4)

  • W Nazwa Użytkownika pole tekstowe Mercury Wycieczki, wpisz nieprawidłową nazwę użytkownika invalidUNN.
  • W Hasło pole tekstowe, wpisz nieprawidłowe hasło invalidPWD.

Wpisano nieprawidłową nazwę użytkownika Mercury Formularz wycieczek

Wprowadzono nieprawidłowe hasło Mercury Formularz wycieczek

Krok 5) Kliknij ikonę Zaloguj przycisk. Firefox powinien trafić na stronę pokazaną poniżej.

Mercury Strona logowania do wycieczek nie powiodła się

Krok 6) TogglNaciśnij przycisk „Nagrywaj”, aby zatrzymać nagrywanie. Twój skrypt powinien teraz wyglądać jak ten poniżej.

Selenium Skrypt nagrany w IDE po zatrzymaniuping rejestrator

Krok 7) Teraz zapisz nagrany skrypt testowy. W filet menu, wybierz Zapisz przypadek testowylub naciśnij Ctrl+S.

Opcja Zapisz przypadek testowy w Selenium Menu Plik IDE

Krok 8)

  • Wybierz folder docelowy, a następnie nadaj mu nazwę walizka testowa Nieprawidłowy_login.
  • Kliknij Zapisz.

Zapisz okno dialogowe, nadając mu nazwę Selenium Przypadek testowy IDE Invalid_login

Krok 9) Zwróć uwagę, że plik jest zapisany w formacie HTML.

Zapisany plik przypadku testowego z rozszerzeniem HTML

Krok 10) Następnie wróć na stronę Selenium IDE i kliknij Odtwarzanie przycisk, aby wykonać cały skrypt. Selenium IDE wiernie odtwarza każdą akcję.

Selenium Przycisk odtwarzania IDE wykonujący nagrany skrypt

Wprowadzenie do Selenium Polecenia – Selenese

Selenese to język pisma, który napędza Selenium IDE. Zasady są proste:

  • Każde polecenie Selenese akceptuje maksymalnie dwa parametry — cel oraz wartość.
  • Parametry nie zawsze są wymagane. Ich liczba zależy od polecenia.

Rodzaje poleceń

Selenese dzieli polecenia na trzy kategorie. Każda z nich ma inną rolę w skrypcie.

Akcje Polecenia, które bezpośrednio oddziałują na elementy strony. Przykład: click wchodzi w interakcję z elementem, który klikasz; type wprowadza wartość do pola tekstowego, a pole tekstowe ją odzwierciedla, zapewniając dwustronną interakcję.
Akcesoria Polecenia, które zapisują wartość w zmiennej. Przykład: storeTitle odczytuje tylko tytuł strony i go zapisuje — nie zmienia niczego na stronie.
Asercje Polecenia weryfikujące warunek. Selenese udostępnia trzy warianty asercji: Twierdzić zatrzymuje test w przypadku niepowodzenia, zweryfikować rejestruje awarię i kontynuuje działanie, Poczekaj na wstrzymuje się do momentu, aż warunek stanie się prawdziwy (domyślny limit czasu wynosi 30 sekund, można go skonfigurować w Opcje > Ogólne).

Potwierdź a zweryfikuj Selenium

Poniższe diagramy porównują zachowanie polecenia Assert i Verify w czasie wykonywania, gdy sprawdzenie kończy się niepowodzeniem w trakcie testu.

Potwierdź zachowanie polecenia „zatrzymaj”ping test na niepowodzenie

Sprawdź zachowanie polecenia i kontynuuj testowanie po zarejestrowaniu błędu

Wspólne polecenia

Command Liczba parametrów OPIS
koncepcja 0-2 Otwiera stronę za pomocą URL.
kliknij / kliknij i czekaj 1 Klika określony element.
typ / typeKeys 2 Wpisuje ciąg znaków.
verifyTitle / assertTitle 1 Porównuje rzeczywisty tytuł strony z wartością oczekiwaną.
zweryfikujTextPresent 1 Sprawdza, czy podany tekst znajduje się na stronie.
zweryfikuj element obecny 1 Sprawdza obecność określonego pierwiastka.
zweryfikuj tabelę 2 Porównuje zawartość tabeli z wartościami oczekiwanymi.
poczekaj naPageToLoad 1 Wstrzymuje wykonywanie do momentu zakończenia ładowania strony.
poczekaj na element obecny 1 Wstrzymuje wykonywanie do momentu pojawienia się określonego elementu.

Utwórz skrypt ręcznie za pomocą Firebuga

Teraz utwórzmy ten sam przypadek testowy ręcznie, używającping polecenia. W tym przewodniku wykorzystano Firebuga do sprawdzenia lokalizatorów elementów. (W nowoczesnych Selenium IDE, należy używać wbudowanych w przeglądarkę narzędzi DevTools zamiast Firebuga.)

Krok 1) Otwarte Firefox oraz Selenium IDE. Wpisz bazę URL https://demo.guru99.com/test/newtours/Przycisk nagrywania musi być wyłączony.

Selenium Przełącznik nagrywania IDE w stanie WYŁĄCZONYM

Krok 2) Kliknij najwyższą pustą linię w Edytorze.

Wybór pierwszego pustego wiersza w Selenium Edytor IDE

Typ open w polu tekstowym Polecenie i naciśnij Enter.

Otwórz polecenie wprowadzone w Selenium Pole poleceń IDE

Krok 3) Nawigacja Firefox do podstawy URL i aktywuj Firebuga. W edytorze IDE zaznacz wiersz poniżej open polecenie i typ assertTitle. Aby uzyskać dokładność, skorzystaj z sugestii automatycznego uzupełniania.

Sugestie automatycznego uzupełniania dla assertTitle w Selenium IDE

Krok 4) W Firebug rozwiń <head> tag, aby odsłonić <title>Kliknij wartość tytułu (Witamy: Mercury Wycieczki) i wklej go do Target pole w Edytorze.

Kopiowanie tytułu strony z Firebuga do pola docelowego IDE

Krok 5) Kliknij trzecią pustą linię w Edytorze i wpisz type w polu Polecenie. W Firebug kliknij Kontrola przycisk.

Wpisz polecenie dodawane w Selenium Edytor IDE

Kliknij pole tekstowe „Nazwa użytkownika”. Firebug automatycznie wyświetli pasujący element HTML.

Firebug sprawdza pole Nazwa użytkownika w Mercury Wycieczki

Krok 6) Pole tekstowe Nazwa użytkownika nie zawiera identyfikatora, ale ma atrybut NAME. Skopiuj wartość NAME i wklej ją do Target Pole Selenium SDI.

Kopiowanie atrybutu NAME pola Nazwa użytkownika

Jeszcze w Target pole, prefiks userName w name= so Selenium IDE ma na celu element, którego atrybut NAME jest userName.

Selenium Pole docelowe IDE z lokalizatorem name=userName

Typ invalidUN w polu Wartość. Twój skrypt ma teraz trzecie polecenie. Selenium IDE rozróżnia wielkość liter, dlatego wartości i nazwy atrybutów należy wpisywać dokładnie tak, jak pojawiają się w aplikacji.

Wpisz polecenie, którego celem jest nazwa=nazwa_użytkownika z wartością invalidUN

Krok 7) Dodaj czwarte polecenie przez typing type w polu Polecenie. Użyj Firebuga Kontrola przycisk w polu tekstowym Hasło.

Firebug sprawdza pole Hasło

Wklej atrybut NAME (password) do Target pole, prefiks z name=i ustaw wartość na invalidPW.

Selenium Skrypt IDE po dodaniu polecenia typu hasła

Krok 8) Dodaj piąte polecenie przez typing clickAndWait w polu Polecenie. Użyj Firebuga Kontrola na przycisku Zaloguj.

Firebug sprawdza przycisk Zaloguj się

Wklej wartość NAZWA (login) do Target pole z name= prefiks.

Ostateczna wersja podręcznika Selenium Skrypt IDE z pięcioma poleceniami

Krok 9) Zapisz przypadek testowy tak jak poprzednio.

Korzystanie z przycisku Znajdź

Znajdź przycisk w Selenium IDE potwierdza, że ​​wartość wprowadzona w Target pole faktycznie pasuje do elementu interfejsu użytkownika na stronie.

Otwórz Nieprawidłowy_login przypadek testowy z poprzedniej sekcji i kliknij dowolne polecenie z Target wpis — na przykład trzecie polecenie.

Znajdź przycisk obok Target pole w Selenium IDE

Kliknij ZnajdźPole tekstowe Nazwa użytkownika na Mercury Strona wycieczek zostanie na chwilę podświetlona.

Pole Nazwa użytkownika jest podświetlone Firefox po kliknięciu Znajdź

Podświetlenie to potwierdza, że Selenium IDE poprawnie rozpoznało lokalizator. Jeśli podświetlony jest niewłaściwy element (lub nie ma go wcale), należy poprawić lokalizator w skrypcie.

Wykonaj polecenie

Polecenie Execute Command uruchamia pojedynczą linię skryptu bez uruchamiania całego przypadku testowego. Kliknij linię, którą chcesz uruchomić i wybierz Akcje > Wykonaj to polecenie z menu lub naciśnij X na klawiaturze.

Krok 1) Upewnij się, że przeglądarka jest włączona Mercury Strona główna wycieczek. Kliknij linię, którą chcesz uruchomić — na przykład type | userName | invalidUN.

Wpisz polecenie wybrane do wykonania w Selenium IDE

Krok 2) Naciśnij przycisk X na klawiaturze.

Krok 3) Pole tekstowe nazwy użytkownika na stronie jest wypełnione invalidUN.

Pole nazwy użytkownika wypełnione po wykonaniu polecenia

Wykonywanie poleceń w ten sposób zależy od strony, na której się znajdujesz. Firefox jest aktualnie wyświetlany. Uruchomienie tego samego polecenia na GoogleStrona główna nie zostanie uruchomiona, ponieważ nie ma pola o nazwie userName tam.

Punkt początkowy

Punkt początkowy mówi Selenium IDE, od którego wiersza rozpocząć wykonywanie. Klawisz skrótu to S.

Punkt początkowy ustawiony na Selenium Linia skryptu IDE

W powyższym przykładzie odtwarzanie rozpoczyna się od trzeciego wiersza (type | password | invalidPW). Skrypt testowy może mieć tylko jeden punkt początkowy. Podobnie jak w przypadku polecenia Execute Command, punkt początkowy zależy od aktualnie wyświetlanej strony i kończy się niepowodzeniem, jeśli strona jest błędna.

Punkty przerwania

Punkty przerwania mówią Selenium IDE do automatycznego wstrzymywania testu na danym wierszu. Skrót klawiszowy to B.

Wskaźnik punktu przerwania na Selenium Linia skryptu IDE

Żółte podświetlenie pokazuje wstrzymany krok. Przypadek testowy może mieć wiele punktów przerwania.

Krok

Krok Polecenie uruchamia kolejny wiersz po wstrzymanym przypadku testowym. Używaj go razem z punktami przerwania, aby przejść przez skrypt po jednym poleceniu na raz.

Test wstrzymany na clickAndWait przed kliknięciem kroku

Przed kliknięciem przycisku Krok. Przypadek testowy jest wstrzymany na linii clickAndWait | login.

Po kliknięciu przycisku Krok przejdź do następnego polecenia

Po kliknięciu Krok. clickAndWait | login polecenie jest uruchamiane, a wykonywanie zostaje wstrzymane przy następnym poleceniu (verifyTitle | Sign-on: Mercury Tours). Następny wiersz zatrzymuje się nawet bez punktu przerwania — taki jest cel Step.

Ważne rzeczy, na które należy zwrócić uwagę podczas korzystania z innych formatów w widoku źródłowym

Ostrzeżenie dotyczące formatów widoku źródła innych niż HTML

Selenium IDE 1.x działa niezawodnie tylko w formacie HTML — pozostałe formaty są wciąż w fazie eksperymentalnej. Tworzenie lub edytowanie testów w widoku źródłowym innym niż HTML nie jest zalecane. Znane problemy w wersji 1.9.1 to:

  • Nie można używać funkcji Odtwarzanie ani powracać do widoku tabeli bez powrotu do formatu HTML.
  • Najbezpieczniejszym sposobem dodawania poleceń w widoku źródłowym jest ich nagrywanie.
  • Ręczne zmiany wprowadzone w Widoku źródłowym zostaną utracone po przełączeniu się na inny format.
  • Możesz zapisać przypadek testowy w widoku źródłowym, ale Selenium IDE może nie być w stanie go ponownie otworzyć.

Zalecanym sposobem konwersji testów Selenese na inne języki jest Plik > Eksportuj przypadek testowy jako… menu, a nie Widoku źródłowego.

FAQ

Dziedzictwo Firefox-tylko Selenium IDE 1.x nie jest już utrzymywane. Nowoczesne Selenium IDE to rozszerzenie przeglądarki Chrome, Firefoxoraz Edge z selenium.dev, obsługujący nagrywanie i odtwarzanie oraz eksport do kodu WebDriver.

Użyj Assert w przypadku twardych warunków wstępnych, w których test nie może być kontynuowany (na przykład, najpierw musi załadować się właściwa strona). Użyj Verify, gdy późniejsze sprawdzenia nadal dodają wartość, nawet jeśli bieżące się nie powiedzie, na przykład w przypadku weryfikacji wielu pól w formularzu.

Firebug został wycofany z użytku w Firefox 57. Użyj wbudowanych narzędzi deweloperskich (F12) przeglądarki lub rozszerzeń, takich jak SelectorsHub, ChroPath lub Playwright Inspector, aby przechwycić lokalizatory XPath i CSS. Selenium skrypty.

Tak. AI platformy testowe obserwują sesje użytkowników, generują polecenia Selenese, sugerują solidne lokalizatory i konwertują nagrane skrypty na Selenium Kod WebDriver w Java, Pythonlub JavaSkrypt wymagający znacznie mniejszego wysiłku ręcznego.

Generatywna AI analizuje migawki DOM i proponuje lokalizatory mniej podatne na awarie — preferując atrybuty testowania danych zamiast kruchego XPath. Samonaprawiające się agenci AI automatycznie przepisują lokalizatory po zmianach w interfejsie użytkownika.ping Selenium Skrypty IDE są zielone.

Podsumuj ten post następująco: