2. Plan
1. Wprowadzenie
2. Selenium RC
3. Selenium WebDriver
4. Selenium IDE
5. Selenium Grid
6. Selenium Builder
www.proskar.pl 2/32
3. Wprowadzenie
• Definicja
– Zestaw narzędzi automatyzujących przeprowadzanie testów
funkcjonalnych
• Narzędzia
– Selenium RC
• Serwer odpowiada za komunikację pomiędzy użytkownikiem a
przeglądarką
– Selenium WebDriver
• Brak pośrednika pomiędzy testem a przeglądarką.
– Selenium IDE
• Symulowanie działania przeglądarki
– Selenium Grid
• Zrównoleglenie testów
www.proskar.pl 3/32
4. Selenium RC
Selenium Remote Control – czyli tzw. Selenium 1
• Komponenty
– Selenium Serwer
– Interfejs pomiędzy usługami Serwera a językiem
programowania
• Wady
– Czas wykonywania testów
Rozwiązanie wyparte przez Selenium WebDriver
www.proskar.pl 4/32
5. Selenium WebDriver
Selenium + WebDriver = Selenium 2
• Bezpośrednie łączenie się z przeglądarką
– Interfejsy
• WebDriver - sterownik dla konkretnej przeglądarki
(obsługa zdarzeń,pobieranie danych z ciasteczek,
odświeżanie stron…)
• WebElement – interakcja z elementami na stronie
(klikanie w elementy, pobieranie i wprowadzanie
wartości do pól…)
www.proskar.pl 5/32
6. Selenium WebDriver
• Jak wydawać polecenia przeglądarce?
WebElement element = driver.findElement(By.name(„TestInput”));
element.sendKeys(„To jest moje polecenie!”);
Driver – instancja sterownika danej przeglądarki
By – instancja lokalizatora elementów
www.proskar.pl 6/32
7. Selenium WebDriver
• Wyszukiwanie elementów na stronie
– na podstawie unikalnego identyfikatora (id),
– określonej klasy CSS,
– selektorów CSS3,
– nazwy elementu HTML,
– nazwy atrybutu name,
– tekstu lub jego fragmentu występującego w
danym elemencie
www.proskar.pl 7/32
8. Selenium WebDriver
• Obsługiwane przeglądarki
– Firefox
– Chrome
– Internet Explorer
– Opera
– Safari
– HtmlUnit (bez GUI)
www.proskar.pl 8/32
9. Selenium WebDriver
• Utworzenie instancji sterownika przeglądarki
– Wskazanie importu wybranego sterownika
org.openqa.selenium.htmlunit.HtmlUnitDriver;
– Utworzenie obiektu sterownika
HtmlUnitDriver driver = new HtmlUnitDriver();
– Włączenie obsługi Javascript
driver.setJavascriptEnabled(true);
www.proskar.pl 9/32
10. Selenium IDE
• Wtyczka do przeglądarki Mozilla Firefox
• Mozliwości:
– Nagrywanie i odtwarzanie interakcji użytkownika z
przeglądarką
– Generowanie plików kodów nagranych testów
• Java, Ruby, Phyton, C#
www.proskar.pl 10/32
11. Selenium IDE
• Instalacja
– W celu dodania wtyczki do Mozilla Firefox należy
wybrać kolejno:
• Ustawienia -> dodatki -> wtyczki
– Następnie wyszukać wtyczkę „Selenium IDE” i ją
zainstalować
www.proskar.pl 11/32
12. Selenium IDE
www.proskar.pl 12/32
Selenium IDE
Rysunek przedstawiający narzędzie Selenium IDE
• Command – rodzaj komendy dla
przeglądarki
• Target – cel na którym wykonywana
jest komenda(element)
• Value – wartość dla danego
celu(elementu)
13. Selenium IDE - przykład
• Test kalkulatora wskaźnika BMI
– Otworzyć stronę http://bmi-online.pl/
– Wybrać w Selenium IDE czerwony przycisk
rejestrowania
– Wpisać dane do wskaźnika BMI : 70 kg oraz 180
cm wzrostu
– Wybrać przycisk Oblicz BMI
– Zakończyć rejestrowanie
www.proskar.pl 13/32
14. Selenium IDE - przykład
www.proskar.pl 14/32
Kalkulator BMI Test w Selenium IDE
Rysunek przedstawiający
testowany kalkulator BMI
Rysunek przedstawiający zapis
zarejestrowanych czynności w przeglądarce
15. Selenium IDE - przykład
• Dodanie polecenia sprawdzającego
poprawność testu
– Command – komenda sprawdzająca
• assertText
– Target – adres sprawdzanego elementu (jeden z
wielu wygenerowanych automatycznie)
• //div[2]/div/div[2]/div/p
– Value – szukana wartość
• Wyliczone BMI: 21.60 - oznacza wagę prawidłową.
Gratulacje!
www.proskar.pl 15/32
16. Selenium IDE - przykład
• Uruchomienie testu
• Wykonanie bieżącego testu
• Wykonanie wszystkich istniejących testów
• Regulacja tempa wykonywania testów w oknie
przeglądarki
Wyniki z wykonania testu raportowane są w konsoli
Selenium IDE (zakładka Log)
www.proskar.pl 16/32
17. Selenium IDE - przykład
• Generowanie kodu testu
– Aby wygenerować kod nagranego testu należy
wybrać:
• Plik -> Export Test Case As – w przypadku generowania
pojedynczego tesu
• Plik -> Export Test Suit As – w przypadku generowania
wielu nagranych tesów
www.proskar.pl 17/32
18. Selenium IDE - przykład
www.proskar.pl 18/32
Wygenerowany kod testu cz.1
Rysunek przedstawiający gotowy do uruchomienia w aplikacji
wygenerowany kod testu kalkulatora BMI,
19. Selenium IDE - przykład
www.proskar.pl 19/32
Wygenerowany kod testu cz.2
Rysunek przedstawiający gotowy do uruchomienia w aplikacji
wygenerowany kod testu kalkulatora BMI,
20. Selenium Grid
Wchodzi w skład Selenium 2
• Rozwiązanie typu „hub-node”
– Zarządzanie wieloma środowiskami przy pomocy
jednego punktu centralnego
• Zalety
– Przyspieszenie wykonywania testów
Bibliotekę można pobrać stąd:
http://docs.seleniumhq.org/download/
www.proskar.pl 20/32
21. Selenium Grid - przykład
• Utworzenie punktu centralnego – huba
– Aby utworzyć punkt centralny należy
• W konsoli poleceń przejść do katalogu z pobraną biblioteką
• Wpisać polecenie:
– java -jar selenium-server-standalone-2.41.0.jar -role hub -port 4444
• Pod adresem http://localhost:4444/grid/console będą
widoczne wszystkie serwery podłączone do huba
www.proskar.pl 21/32
22. Selenium Grid - przykład
www.proskar.pl 22/32
• Utworzenie węzła – node`a
– Aby utworzyć węzeł należy
• W konsoli poleceń przejść do katalogu z pobraną
biblioteką
• Wpisać polecenie:
– java -jar selenium-server-standalone-2.41.0.jar -role node -
hub http://localhost:4444/grid/register -port 5555
23. Selenium Grid - przykład
• Aby uruchomić nasz test na utworzonym
hubie należy:
– Zamienić dotychczasowe tworzenie obiektu:
• driver = new FirefoxDriver();
Na
• driver = new RemoteWebDriver(new
URL(„http://localhost:4444/wd/hub”),DesiredCapabiliti
es.firefox());
www.proskar.pl 23/32
24. Selenium Builder
• Alternatywa dla Selenium IDE
• Obsługa eksportu testu do formatu Java
testNG dla WebDriver
www.proskar.pl 24/32
25. Selenium Builder - instalacja
• Aby zainstalować wtyczkę należy:
– Przejść na stronę http://sebuilder.github.io/se-
builder/
– Wybrać opcję Install
www.proskar.pl 25/32
Przycisk instalacji wtyczki
Rysunek przedstawiający przycisk instalacji wtyczki Selenium
Builder, ze strony projektu
26. Selenium Builder - uruchomienie
• W celu uruchomienia wtyczki Selenium
Builder należy w przeglądarce wybrac kolejno
– Menu -> narzędzia -> Launch Selenium Builder
www.proskar.pl 26/32
Strona startowa narzędzia Selenium Builder
27. Selenium Builder - przykład
• Test kalkulatora wskaźnika BMI
– Przejść na stronę bmi-online.pl
– Uruchomic Selenium Builder
– Wybrać opcję Selenium 2
– Wpisać dane do wskaźnika BMI : 79kg oraz 166 cm
wzrostu
– Wybrać przycisk Oblicz BMI
– W narzędziu Selenium Builder wybrać opcję „Record
verification” a następnie kliknąć w pole z wynikiem BMI
– Zakończyć nagrywanie testu przyciskiem „Stop
recording”
www.proskar.pl 27/32
29. Selenium Builder - przykład
www.proskar.pl 29/32
Treść nagranego testu
Rysunek przedstawiający nagrany test dla kalkulator BMI
30. Selenium Builder - przykład
• Możliwość
edycji
nagranego
testu
www.proskar.pl 30/32
Opcje edycji kroków testu
31. Selenium Builder - przykład
www.proskar.pl 31/32
Edycja kroku testu
Rysunek przedstawiający edycję rodzaju akcji dla kroku
testowego nr. 2
32. Selenium Builder - przykład
www.proskar.pl 32/32
Edycja kroku testu
Rysunek przedstawiający edycję lokalizacji elementu oraz
jego wartości dla kroku testowego nr. 2