Zapraszamy do zapoznania się z Naszym pierwszym Tutorialem, który wprowadzi Was w tematykę testów automatycznych na poziomie aplikacji webowej. Artykuł ten będzie dotyczył jednego z najpopularniejszych frameworków przeznaczonych do testów automatycznych, jakim jest Selenium. W szczególności skupimy się na jednym z komponentów – Selenium-IDE, który umożliwia tworzenie prostych testów automatycznych usprawniających codzienną pracę testera. Poza częścią teoretyczną znajdziecie tutaj również zadania, których wykonanie pozwoli osiągnąć lepsze efekty. Opracowany Tutorial będzie przydatny dla osób stawiających swoje pierwsze kroki w obszarze automatyzacji testów. Zaczniemy od bardzo podstawowych elementów i stopniowo będziemy przechodzić do bardziej zaawansowanych tematów. Przy tak obszernym opracowaniu mogą wkraść się jakieś błędy, ale liczymy na Waszą wyrozumiałość i… przetestowanie Tutorialu. Chcielibyśmy, aby tutoriale o tematyce testów automatycznych wychodziły regularnie. Dla Nas jest to wielkie wyzwanie, aby systematycznie publikować artykuły oraz tutoriale, ale sprawia Nam to wielką satysfakcję, a jednocześnie pozwala ciągle rozwijać się w szerokim obszarze testowania. Prosimy więc o trzymanie kciuków za Nas. Zatem zaczynamy i zapraszamy wszystkich do zabawy 🙂

Selenium – co to takiego?

Tak jak już wspomnieliśmy, jednym z najpopularniejszych frameworków, służących do automatyzacji testów, jest Selenium. Jest to darmowe – udostępnione na zasadach open-source, narzędzie,które pozwala na tworzenie testów automatycznych dla aplikacji webowych. Cały pakiet Selenium składa się z kilku komponentów, z których każdy pełni szczególną rolę we wspomaganiu automatyzacji aplikacji internetowych. O jego poszczególnych komponentach będziemy mówić później. Selenium pozwala na zautomatyzowanie powtarzających się czynności (np. testów regresyjnych) i zaoszczędzenie czasu podczas powtarzalnego przeprowadzania testów. Ma możliwość wykonywania testów na dedykowanych typach oraz wersjach przeglądarek internetowych, co umożliwia weryfikowanie oprogramowania dla różnych konfiguracji. Ogromną zaletą Selenium jest integracja z wieloma narzędziami wykorzystywanymi w trakcie przeprowadzania testów – czy to z narzędziami zapisującymi wyniki, systemami CI (ang. Continuous Integration), językami programowania, czy środowiskami pracy (Eclipse, Netbeans itp.).

Selenium – komponenty, wersje, przeznaczenie, możliwości

Osoby rozpoczynające swoją pracę z Selenium mogą być trochę zakłopotane w wersjach systemu oraz w komponentach, które wchodzą w jego skład. Poniższy diagram prezentuje te komponenty.

SeleniumPakiet

 

UWAGA!!!

Selenium-IDE przestaje być wspierane dla przeglądarki Mozilla Firefox od wersji 55.00. Chcąc móc korzystać z tego dodatku, należy mieć zainstalowaną wspomnianą przeglądarkę w wersji niższej niż 55.00. Aby ściągnąć starszą wersję, należy postępować zgodnie z instrukcją oraz pobrać wersję ze strony. Należy również pamiętać o wyłączeniu automatycznej aktualizacji (Tools – > Options -> Advanced -> Update, zaznaczając opcję „Never Check for Updates”).

Lekcja #1 - Instalacja Selenium-IDE

Selenium-IDE jest dodatkiem, który należy zainstalować bezpośrednio w przeglądarce Mozilla Firefox. W pierwszej kolejności upewnijmy się zatem, czy mamy zainstalowaną odpowiednią wersję przeglądarki.

Krok #1 – Proces instalacji Selenium-IDE

Należy otworzyć przeglądarkę Mozilla Firefox i wejść na daną stronę. Wyświetli nam się okienko z zapytaniem o zgodę na instalację dodatku Selenium-IDE. Oczywiście klikamy przycisk „Install”.

Selenium IDE - Instalacja krok1_1
Selenium IDE - Instalacja krok1_2

 

Aby dodatek został poprawnie zainstalowany, należy ponownie uruchomić przeglądarkę Mozilla Firefox, więc klikamy przycisk „Restart Now”.

Krok #2 – Weryfikacja poprawności instalacji

Poprawność instalacji dodatku Selenium-IDE możemy zweryfikować na dwa sposoby. Pierwszy z nich to sprawdzenie w „Rozszerzeniach” przeglądarki. W tym celu klikamy kolejno w oknie przeglądarki Menu -> Dodatki -> Rozszerzenia i sprawdzamy, czy na liście znajduje się pozycja „Selenium IDE”. To samo możemy sprawdzić poprzez wpisanie w URL „about:addons”.

Selenium IDE - Instalacja krok2

 

Krok #3 – Pierwsze uruchomienie narzędzia

Zweryfikujmy teraz, czy zainstalowane Selenium-IDE uruchamia się prawidłowo. Naciskamy „CTRL+Shift+S” lub wchodzimy przez Menu -> Narzędzia -> Selenium IDE.

Selenium IDE - Instalacja krok3

Brawo!! Waszym oczom powinien ukazać się ekran zainstalowanego narzędzia. Mamy już zainstalowane Selenium-IDE, to teraz idziemy krok dalej.

 

Lekcja #2 - Funkcjonalności Selenium-IDE

W tym rozdziale dowiecie się, z jakich elementów zbudowane jest Selenium-IDE oraz jakie posiada funkcjonalności.
Selenium - Web Browser Automation (Selenium IDE - Preview)

 

#1 Menu Bar

Najwyżej położone Menu w aplikacji Selenium-IDE. Znajdziecie tutaj listę funkcjonalności umożliwiających tworzenie nowych i importowanie istniejących scenariuszy testowych, uruchamianie testów i konfigurację narzędzia. Menu Bar składa się z następujących pozycji:

  • File Menu
  • Edit Menu
  • Actions Menu
  • Options Menu
  • Help Menu

A) File Menu

Selenium - Web Browser Automation (File Menu)

Menu zbliżone funkcjonowaniem do tego w innych aplikacjach. Dostępne opcje (tylko najważniejsze punkty):

  • New Test Case – tworzenie nowego przypadku testowego
  • Open – otwarcie oraz późniejsza edycja przypadku testowego
  • Save Test Case – zapisanie przypadku testowego
  • Export Test Case As – eksport przypadku testowego do wybranego z listy języka programowania, mającego wsparcie dla Selenium i innych frameworków testowych (np. JUNIT, TestNG). Ta funkcjonalność pozwala na późniejsze uruchamianie testów, np. z poziomu Selenium Webdriver
  • New Test Suite – tworzenie nowego zestawu testów

B) Edit Menu

Selenium - Web Browser Automation (Edit Menu)

 

Najważniejsze funkcjonalności Menu Edycji to:

  • Insert New Command – dodanie nowego kroku / polecenia w dowolnym miejscu przypadku testowego. Nowy krok dodawany jest przed pozycją, którą mamy zaznaczoną w przypadku testowym. Użytkownik w nowo dodanym kroku może wprowadzić dowolne polecenie oraz wartość, która np. będzie weryfikowana.
Selenium - Web Browser Automation (AddNewCommand)
  • Insert New Comment – wprowadzenie nowego komentarza do dowolnego kroku przypadku testowego, np. opisującego, jakie elementy są weryfikowane w danym kroku

C) Actions Menu

Selenium - Web Browser Automation (ActionMenu)

 

W tym Menu znajdują się takie funkcjonalności, jak możliwość nagrywania akcji użytkownika, odtwarzania nagranych przypadków testowych czy zestawów testów:

  • Record – ustawienie narzędzia w tryb nagrywania (wszystkie akcje użytkownika wykonywane po stronie przeglądarki Mozilla Firefox są nagrywane)
  • Play Entire Test Suite – odtworzenie wszystkich przypadków testowych, które są powiązane z bieżącym pakietem testowym (Test Suite)
  • Play Current Test Case – odtworzenie bieżącego przypadku testowego
  • Play Test Suites Periodically – ustawienie czasu, kiedy przypadki testowe w ramach Test Suite’a mają być wykonywane, np. co 5 min
  • Toogle BreakPoint – ustawienie jednego lub wielu punktów w ramach przypadku testowego, w których wykonywanie testów zostanie zatrzymane / przerwane
  • Set/Clear Start Point – ustawienia punktu startowego w dowolnym kroku testowym w ramach przypadku testowego (odtworzenie testów od danego kroku)
  • Execute This Command – wykonywanie polecenia / kroku, który jest aktualnie zaznaczony

D) Options Menu

Selenium - Web Browser Automation (OptionMenu)

 

Za pomocą tego Menu mamy możliwość modyfikacji różnych opcji dostarczanych po stronie Selenium-IDE. Menu umożliwia dodawanie rozszerzeń do narzędzia oraz uruchamianie narzędzi deweloperskich. Chcąc wywołać okno dialogowe z dostępnymi opcjami, wybieramy kolejno z menu następujące pozycje Options –> Options.

Teraz zaznajomimy się z podstawowymi opcjami dostępnymi w Selenium-IDE.

 

 

  • Default TimeoutValue – domyślna wartość określająca, ile Selenium-IDE ma czekać na wykonanie testu. Po upływie tego czasu po stronie narzędzia wywoływany jest błąd. Użytkownik powinien ustawić tą wartość pod swoją testowaną aplikację, dopasowując czas oczekiwania na poszczególne elementy systemu
  • Extension (Selenium Core Extension oraz Selenium IDE Extension) – możliwość instalacji różnych dodatków usprawniających pracę. Funkcjonalność ta dokładnie opisania jest przy konkretnych dodatkach
  • Remember Base URL – domyślnie opcja ta jest zaznaczona i powoduje zapamiętywanie bazowego adresu WWW, na którym przeprowadzane są testy
  • Record AssertTitle Automatically – w trakcie nagrywania wykonywanych czynności przez użytkownika do każdej odwiedzanej strony automatycznie dodawana jest operacja „AssertTitle” z nazwą tejże strony. Dodawanie tego kroku pozwala automatycznie sprawdzać nazwę wyświetlanej strony. W przypadku, gdy nazwa strony nie zgadza się z tą zawartą w skrypcie, zwracany jest błąd
Selenium IDE - assertTitle
  • Activate Developer Tools –  uruchomienie narzędzi deweloperskich
  • Locator Builders – ustalenie priorytetów generowania lokatorów (identyfikatorów elementów), które są generowane w trakcie nagrywania akcji użytkownika. Lokatory są to unikatowe elementy, za pomocą których identyfikujemy element na stronie (np. przycisk, radiobutton itp.)
C:\Users\mpioro\Desktop\Grafiki Źródłowe\Do wgrania\Selenium IDE - LocatorBuilders.png

E) Help Menu

Selenium IDE - Help Menu

W Menu tym znajdziemy odnośniki do dokumentacji technicznej, stron z opisem zmian wprowadzonych w danej wersji oraz odnośnikami do kluczowych miejsc dotyczących Selenium-IDE.

 

#2 Address Bar

Base URL

Funkcjonalność Base URL może umożliwić przeprowadzanie tych samych testów na różnych dostępnych środowiskach testowych, np. kiedy mamy witrynę testową dostępną pod dwoma adresami URL. Wystarczy, że zmienimy adres BASE_URL na wskazany adres i następnie uruchomimy nagrany test.

Selenium IDE - BaseURL

 

#3 Pasek Narzędzi

Selenium IDE - MenuNarzędzia

Na Pasku Narzędzi znajdziemy podstawowe opcje służące do sterowania stworzonymi testami. Poniżej zapoznamy się z poszczególnymi opcjami.

Selenium IDE - SpeedTest

Regulacja szybkości przeprowadzania testów. Często wymagane jest wolniejsze przeprowadzanie testów celem zachowania ich stabilności

Selenium IDE - PlayEntireTestSuite

Odtworzenie wszystkich przypadków testowych znajdujących się w bieżącym zestawie testów

Selenium IDE - PlayCurrentTestCase

Odtworzenie bieżącego przypadku testowego

Selenium IDE - Resume

Zatrzymanie / Wznowienie wykonywania przypadku testowego

Selenium IDE - Step

Testy wykonywane są jako pojedyncze kroki. Funkcjonalność przydatna w trakcie stabilizowania przypadków testowych

Włączenie tej opcji powoduje przełączenie Selenium IDE w tryb przechwytywania zdarzeń wykonywanych w oknie przeglądarki internetowej Mozilla Firefox

Selenium IDE - Sheduler

Funkcjonalność ta pozwala na ustawienie harmonogramu wykonywania testów (np. powtórz test co 5 minut)

#4 Panel Edytora Przypadków Testowych

Selenium IDE - Editor

 

Panel Edytora Przypadków Testowych zawiera kroki aktualnie przeglądanego przypadku testowego. Znajdziemy tutaj wszystkie operacje, które zostały przechwycone przez Selenium-IDE. Domyślnie przypadki testowe reprezentowane są w formie tabelarycznej, w której to użytkownik widzi operacje w postaci poszczególnych poleceń (Command) oraz celu (Target), np. elementu, do którego się odnosi. W przypadku, gdy element ma uzyskać wartość, uzupełniany jest element „Value”.

A) Tryb źródłowy

W momencie przełączenia sposobu przeglądania w tryb źródłowy, zobaczymy przypadek testowy w formie HTML (domyślny język, w jakim prezentowany jest test). W sytuacji, gdy chcemy, aby źródło było wyświetlane przykładowo w języku JAVA, musimy włączyć w opcjach parametr „Enable Experimental Features” oraz zmienić język na docelowy (Options -> Format). Istnieje również możliwość edycji przypadku testowego, jest to jednak funkcjonalność przeznaczona dla bardziej zaawansowanych użytkowników.

 

Selenium IDE - SourceTab

B) Edytor Poleceń

Funkcjonalność pozwala na edycję / dodawanie nowych kroków w ramach bieżącego przypadku testowego

  • Command
    • Funkcjonalność ta umożliwia użytkownikowi edycję istniejących poleceń, celów oraz wartości lub dodawanie nowych (musi być zaznaczony pusty krok)
Selenium IDE - NewCommand
    • W oknie Edytora mamy możliwość edycji / dodania dowolnego parametru z listy dostępnych poleceń
Selenium IDE - ListOfCommand
  • Target – lista rozwijana w polu „Target” pozwala nam na zmianę istniejącej identyfikacji na inną (np. z nazwy na xpath). Niektóre identyfikatory do obiektów są dynamiczne, co skutkuje tym, że nie ma możliwości ich zastosowania przy automatyzacji

 

Selenium IDE - TargetChange
  • Select – pozwala na zmianę lub dodanie nowego targetu. Użytkownik naciska przycisk „Select”, a następnie klika na stronie element, który chce zidentyfikować
  • Find – w przypadku, gdy mamy wybrany krok z ustawionym targetem, naciśnięcie klawisza „Find” pozwala znaleźć na stronie element powiązany z danym obiektem, wyróżniając go zieloną ramką
  • Value – parametr ten pozwala wprowadzić wartość do danego elementu. Przykładowo, jeśli jest pole typu TextArea, w momencie uzupełnienia elementu „Value”, pole to zostanie wypełnione wpisanymi danymi

 

#5 Panel Przypadków Testowych

Selenium IDE - TestCasePanel

 

W Panelu Przypadków Testowych mamy możliwość przełączania się pomiędzy dostępnymi przypadkami testowymi. Dodatkowo, po uruchomieniu przypadku testowego lub całego zestawu testów, widzimy ich aktualny status.

 

#6 Panel Logowania

 

Panel Logowania pozwala na pełną diagnostykę przeprowadzonych testów. Wyświetlane są informacje o kluczowych rzeczach realizowanych w trakcie odtwarzania przypadków testowych.

Podsumowanie

Udało nam się dojść do końca kolejnej lekcji. Powinniśmy już wiedzieć, z jakich komponentów składa się Selenium oraz czym się charakteryzują. Mamy również zainstalowany dodatek do przeglądarki Mozilla Firefoxa, jakim jest Selenium-IDE oraz poznaliśmy jego budowę. W kolejnej lekcji nauczymy się, w jaki sposób tworzyć własne testy.

 

Lekcja #3 - Pierwszy test w Selenium-IDE

Jest to lekcja praktyczna, podczas której nauczymy się tworzyć testy automatyczne w Selenium-IDE

#1 Jaki system będziemy testować?

Dla potrzeb tego Tutorialu utworzyliśmy testowy projekt w naszym wewnętrznym Mantisie, który wykorzystamy do naszych ćwiczeń. Uznaliśmy, że aplikacja jest na tyle prosta i ma wiele możliwości i funkcjonalności, że możemy uczyć się automatyzować na jej przykładzie.

Dane potrzebne do pracy z aplikacją:

WAŻNE: Prosimy nie modyfikować parametrów samego konta oraz ustawień (w tym hasła). Nie psujmy zabawy innym osobom korzystającym z tego Tutorialu!

 

#2 Jakie elementy systemu będziemy testować?

Zawsze na początku testowania produktu warto sobie określić, jakie elementy systemu będą podlegały testom (czy to manualnym, czy automatycznym) oraz w jaki sposób będziemy chcieli je zweryfikować. W naszym wypadku weźmiemy do testów dwa elementy systemu Mantis. Pierwszym z nich będzie formatka logowania do systemu, a drugą – dodawanie nowego zgłoszenia do projektu.

Selenium IDE - MantisEkranLogowania
Selenium IDE - MantisNoweZgłoszenie

 

#3 Przypadki testowe oraz ich grupowanie

Kolejną rzeczą jaką musimy zrobić przed stworzeniem samych skryptów automatycznych jest tworzenie przypadków testowych które następnie będziemy poddawać automatyzacji. W naszym wypadku stworzyliśmy zarówno zestaw przypadków negatywnych jak i pozytywnych. Różnica pomiędzy przypadkami testowymi pozytywnymi a negatywnymi wyjaśniona jest poniżej.

PrzypadkiPozytywneNegatywne

 

W poniższych tabelkach znajdziecie przypadki testowe, które będziemy poddawali automatyzacji

TC #1 – Próba logowania bez wypełniania wymaganych pól (negatywny)

Numer kroku Krok testowy Dane testowe Oczekiwany rezultat
1 Otwarcie strony http://mantis.testpro.pl Otwarta strona logowania z aplikacji Mantis
2 Naciśnięcie przycisku „Zaloguj się” Wyświetlenie czerwonego komunikatu „Twoje konto może być wyłączone lub nazwa użytkownika/hasło nie są poprawne.”

 

TC #2 – Próba logowania za pomocą nieprawidłowych danych logowania  (negatywny)

Numer kroku Krok testowy Dane testowe Oczekiwany rezultat
1 Otwarcie strony http://mantis.testpro.pl Otwarta strona logowania z aplikacji Mantis
2 Wypełnienie pola „Nazwa użytkownika” test Wypełnione pole „Nazwa użytkownika” tekstem „test”
3 Wypełnienie pola „Hasło” test Wypełnione pole „Hasło” zamaskowanym tekstem (*)
4 Naciśnięcie przycisku „Zaloguj się”  – Wyświetlenie czerwonego komunikatu „Twoje konto może być wyłączone lub nazwa użytkownika/hasło nie są poprawne”

 

TC #3 – Logowanie do aplikacji – podanie prawidłowych danych (pozytywny)

Numer kroku Krok testowy Dane testowe Oczekiwany rezultat
1 Otwarcie strony http://mantis.testpro.pl Otwarta strona logowania z aplikacji Mantis
2 Wypełnienie pola „Nazwa użytkownika” testowe Wypełnione pole „Nazwa użytkownika” tekstem „testowe”
3 Wypełnienie pola hasło seleniumtest Wypełnione pole „Hasło” zamaskowanym tekstem (*)
4 Naciśnięcie przycisku „Zaloguj się” Otwarcie strony głównej aplikacji Mantis
5 Naciśnięcie przycisku „Wyloguj” Wylogowanie z aplikacji, powrót na stronę logowania

 

TC #4 – Dodawanie nowego zgłoszenia – podanie nieprawidłowych danych (negatywny)

Numer kroku Krok testowy Dane testowe Oczekiwany rezultat
1 Otwarcie strony http://mantis.testpro.pl Otwarta strona logowania z aplikacji Mantis
2 Wypełnienie pola „Nazwa użytkownika” testowe Wypełnione pole „Nazwa użytkownika” tekstem „testowe”
3 Wypełnienie pola „Hasło” seleniumtest Wypełnione pole „Hasło” zamaskowanym tekstem (*)
4 Naciśnięcie przycisku „Zaloguj się” Otwarcie strony głównej aplikacji Mantis
5 Naciśnięcie przycisku „Dodaj” Otwarcie strony z funkcjonalnością dodawania nowego zgłoszenia
6 Naciśnięcie przycisku „Wyślij zgłoszenie” Otrzymany komunikat błędu “APPLICATION ERROR #11: Wymagane pole „Temat” nie zostało wypełnione. Sprawdź wprowadzone dane. Proszę użyć przycisku „Wstecz” w przeglądarce by powrócić do poprzedniej strony. Tam można poprawić to co spowodowało błąd lub wybrać inną operację. Można również kliknąć opcję w górnym menu, aby przejść bezpośrednio do innej sekcji.”

 

TC #5 – Dodawanie nowego zgłoszenia – podanie prawidłowych danych (pozytywny)

Numer kroku Krok testowy Dane testowe Oczekiwany rezultat
1 Otwarcie strony http://mantis.testpro.pl Otwarta strona logowania z aplikacji Mantis
2 Wypełnienie pola „Nazwa użytkownika” testowe Wypełnione pole „Nazwa użytkownika” tekstem „testowe”
3 Wypełnienie pola „Hasło” seleniumtest Wypełnione pole „Hasło” zamaskowanym tekstem (*)
4 Naciśnięcie przycisku „Zaloguj się” Otwarcie strony głównej aplikacji Mantis
5 Naciśnięcie przycisku „Dodaj” Otwarcie strony z funkcjonalnością dodawania nowego zgłoszenia
6 Wybranie w polu „Kategoria” opcji z listy rozwijanej Wydajność Wybrana opcja „Wydajność” dla „Kategorii” zgłoszenia
7 Uzupełnienie wymaganego pola „Temat” TC5 – Test1 Wypełnione pole „Temat” tekstem „TC5-Test1”
8 Wypełnienie pola „Opis” To jest mój opis Wypełnione pole „Opis” tekstem „To jest mój opis”
9 Naciśnięcie przycisku „Wyślij zgłoszenie” Rejestracja zgłoszenia (otwarcie strony z listą zgłoszeń)

 

Podsumowując, mamy utworzonych pięć scenariuszy testowych, które będziemy chcieli poddać automatyzacji. Celem łatwiejszego zarządzania przypadkami testowymi oraz ich uruchamianiem pogrupujmy je w zestawy testowe:

 

Zgodnie z powyższym diagramem, w końcowym efekcie otrzymamy dwa zestawy testów, które będą zawierały nasze przypadki testowe. Pierwszym zestawem będzie „TS#1 – Logowanie”, a drugim „TS#2 – Dodawanie zgłoszenia”.

 

#4 Tworzenie zestawów testów (Test Suite) oraz przypadków testowych w Selenium-IDE

Do lepszej organizacji pracy utworzymy sobie na pulpicie folder “MantisSeleniumIDE”, a w nim dwa kolejne foldery – „Logowanie” oraz „Dodawanie zgłoszenia”. Teraz przejdziemy już do automatyzowania pierwszego ze scenariuszy testowych, czyli „TC#1 – Próba logowania bez wypełniania wymaganych pól”. W tym celu wykonujemy poniższe kroki:

  • uruchamiamy przeglądarkę Mozilla Firefox
  • uruchamiany Selenium IDE (np. Ctrl + Shift + S)
  • zmieniamy nazwę przypadku testowego na „TC#1 – Próba logowania bez wypełniania wymaganych pól”

 

Selenium IDE - ChangeNameOfTestCase
Selenium IDE - ChangeNameOfTestCase2
  • zapisujemy scenariusz testowy – Save Test Case as “TC#1 – Próba logowania bez wypełniania wymaganych pól” w folderze „Logowanie”

 

Zadanie #1

Utwórz brakujące scenariusze testowe wchodzące w zestaw testów „TS#1 – Logowanie”

Efekt Twoich prac powinien być następujący:

Selenium IDE - TestCases_Logowanie
Selenium IDE - TestCases_Logowanie_Folder

 

Jeśli udało Ci się uzyskać ten sam rezultat, to świetnie 🙂 Teraz stworzymy pierwszy zestaw testów zawierający utworzone przypadki testowe. Jeśli mamy wciąż otwarte Selenium-IDE, wystarczy wykonać następującą operację: File -> Save Test Suit As. Zestaw umieszczamy we wcześniej utworzonym folderze „Logowanie” i nadajemy mu nazwę „TS#1 – Logowanie”. Z poziomu folderów powinno to wyglądać, jak poniżej:

Selenium IDE - TestSuite_Logowanie_Folder

 

Zadanie #2

Utwórz drugi zestaw testów – „TS#2 – Dodawanie zgłoszenia”, który składał się będzie z następujących przypadków testowych:
TC #4 – Dodawanie nowego zgłoszenia – podanie nieprawidłowych danych
TC #5 – Dodawanie nowego zgłoszenia – podanie prawidłowych danych

W rezultacie powinieneś otrzymać:

Selenium IDE - DodawanieZgloszenia2
Selenium IDE - DodawanieZgloszenia

 

Brawo! Zakończyliśmy tworzenie struktury pod nasze testy automatyczne. Teraz nie pozostaje nam nic innego, jak rozpocząć nagrywanie naszych pierwszych testów.

 

#5 Nagrywamy pierwszy test – TC1# Próba logowania bez wypełniania wymaganych pól

W poniższym punkcie stworzymy nasz pierwszy skrypt testowy. Zrobimy to trochę okrężną drogą, aby poznać tajniki Selenium-IDE i się z nimi oswoić. A więc zaczynamy…

  • Czyścimy cache przeglądarki i uruchamiamy ją ponownie
  • Uruchamiany narzędzie Selenium-IDE
  • Otwieramy zestaw testów „TS#1 – Logowanie” (File -> Open Test Suite – „TS#1 – Logowanie”). Powinno nam się pojawić okno Selenium-IDE z trzema scenariuszami testowymi
  • Otwieramy sobie nowe okno przeglądarki (CTRL + T)
  • Upewniamy się, że mamy włączony tryb nagrywania w Selenium-IDE
  • Upewniamy się, że edytujemy pierwszy przypadek testowy

 

Selenium IDE - VerificationRecordOption

 

  • Wchodzimy w nowo otwartym oknie przeglądarki na stronę www.mantis.testpro.pl oraz klikamy przycisk “Zaloguj się” zgodnie z opracowanym wcześniej przypadkiem testowym
  • Wyłączamy nagrywanie poprzez kliknięcie czerwonego przycisku nagrywania

Teraz w oknie Selenium-IDE powinniśmy zobaczyć nagrane nasze pierwsze operacje. Rezultat powinien być tożsamy z poniższym screenshotem:

Selenium IDE - NagranyPierwszyTest

 

Teraz spróbujmy odtworzyć sobie nasz pierwszy skrypt testowy. Wykonamy to poprzez naciśnięcie przycisku Selenium IDE - OdtworzenieTestu . Jeśli wszystko zadziałało poprawnie, test powinien uruchomić się na ekranie przeglądarki, a efektem końcowym powinno być następujące okno:

 

 

Ostatnim krokiem w tym przypadku testowym jest zweryfikowanie, czy po naciśnięciu przycisku „Zaloguj się” wyświetla się odpowiedni komunikat o błędzie. Oczywiście weryfikację taką chcemy uzyskać w sposób automatyczny. Aby to zrobić, wykonujemy poniższe kroki…

  • W oknie przeglądarki wchodzimy na stronę www.mantis.testpro.pl oraz klikamy przycisk “Zaloguj się”.
    WAŻNE – do tego momentu nie mamy włączonego nagrywania zdarzeń w Selenium-IDE.
  • Ponownie wybieramy opcję nagrywania w Selenium-IDE oraz umieszczamy kursor w nowej linii, aby nagrywał się kolejny krok, po ostatniej pozycji

 

Selenium IDE - DodawanieNowegoKroku

 

 

  • Przechodzimy na naszą stronę z komunikatem błędu i klikamy na niego prawym przyciskiem myszy. Z menu kontekstowego wybieramy opcję “Show All Available Commands”, a następnie pozycję zgodnie z poniższym ekranem

 

Selenium IDE - WeryfikacjaTekstu

 

  • W naszym scenariuszu testowym w Selenium-IDE powinno pojawić się nowe polecenie weryfikujące wystąpienie komunikatu błędu po naciśnięciu przycisku „Zaloguj się”
  • Wyłączamy nagrywanie zdarzeń z poziomu Selenium-IDE oraz zapisujemy scenariusz testowy

Udało się 🙂  Mamy nagrany nasz pierwszy przypadek testowy. Teraz celem utrwalenia naszej wiedzy, zachęcamy do wykonania poniższego zadania.

 

Zadanie #3

Odtwórz wielokrotnie nagrany skrypt automatyczny. Sprawdź, jak działa funkcjonalność wolnego oraz szybkiego odtwarzania testu. Z poziomu Selenium-IDE wykonaj edycję ostatniego kroku i zmień weryfikowany tekst na inny niż ten, który wyświetla się na stronie.
WAŻNE – Kroki do wykonania w ramach tego zadania należy robić na kopii scenariusza testowego.

#6 Nagrywamy kolejny test – TC3# Logowanie do aplikacji – podanie prawidłowych danych

W kolejnym etapie zajmiemy się zautomatyzowaniem przypadku testowego, który będzie weryfikował poprawne logowanie się do systemu Mantis.

  • Uruchamiany przeglądarkę Mozilla Firefox
  • Uruchomiamy narzędzie Selenium-IDE
  • Wczytujemy zestaw testów („TS#1 – Logowanie”)
  • Z panelu „Test Case” wybieramy przypadek testowy „TC#3 Logowanie do aplikacji – podanie prawidłowych danych”
  • Włączamy w Selenium-IDE tryb nagrywania

 

Selenium IDE - WeryfikacjaUstawien

 

  • W nowym oknie przeglądarki przechodzimy na stronę www.mantis.testpro.pl
  • Uzupełniamy pole „Nazwa użytkownika” wartością „testowe”
  • Uzupełniamy pole „Hasło” wartością „seleniumtest”
  • Klikamy przycisk „Zaloguj się”
  • Wyłaczamy tryb nagrywania

W tym momencie powinniśmy mieć działający skrypt automatyczny, który będzie wykonywał logowanie się do naszej testowej aplikacji.

 

Selenium IDE - LogowanieDoAplikacjiAutomat

 

Zadanie #4

Do powyższego scenariusza dodaj weryfikację poprawności zalogowania (np. poprzez weryfikację jakiegoś tekstu dostępnego po zalogowaniu) oraz funkcjonalność wylogowania.

Przykład rozwiązania tego zadania

Selenium IDE - Wylogowanie

 

Zadanie #5

Utwórz skrypt automatyczny zgodnie ze scenariuszem „TC#2 Próba logowania za pomocą nieprawidłowych danych logowania.

Podsumowanie

Doszliśmy do końca naszego pierwszego tutorialu wprowadzającego nowych adeptów sztuki automatyzacji w świat Selenium-IDE. Kolejne części będą ujawniały bardziej zaawansowane elementy tego oprogramowania.
Wszystkie pliki z tego Tutorialu są dostępne tutaj