Plan
1.Wprowadzenie
2.Selenium RC
3.Selenium WebDriver
4.Selenium IDE
5.Selenium Grid
6.Selenium Builder
www.proskar.pl 2/32
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
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
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
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
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
–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
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
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
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)
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
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
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
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
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
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,
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,
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
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
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
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
Selenium Builder
•Alternatywa dla Selenium IDE
•Obsługa eksportu testu do formatu Java
testNG dla WebDriver
www.proskar.pl 24/32
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
Selenium Builder - uruchomienie
•W celu uruchomienia wtyczki Selenium
Builder należy w przeglądarce wybrac kolejno
–Menu -> narzędzia -> Launch Selenium Builder
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”
Selenium Builder - przykład
www.proskar.pl 29/32
Treść nagranego testu
Rysunek przedstawiający nagrany test dla kalkulator BMI
Selenium Builder - przykład
•Możliwość
edycji
nagranego
testu
www.proskar.pl 30/32
Opcje edycji kroków testu
Selenium Builder - przykład
www.proskar.pl 31/32
Edycja kroku testu
Rysunek przedstawiający edycję rodzaju akcji dla kroku
testowego nr. 2
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