Selenium
-
Upload
proskar -
Category
Technology
-
view
269 -
download
0
Transcript of Selenium
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
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
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
Selenium WebDriver
• Obsługiwane przeglądarki
– Firefox
– Chrome
– Internet Explorer
– Opera
– Safari
– HtmlUnit (bez GUI)
www.proskar.pl 8/32
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
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”),DesiredCapabilities.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
www.proskar.pl 26/32
Strona startowa narzędzia 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”
www.proskar.pl 27/32
Selenium Builder - przykład
www.proskar.pl 28/32
Kalkulator BMI Rysunek przedstawiający testowany kalkulator BMI
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