Strona główna> Blog free time practice>Początki automatyzacji – Selenium Webdriver

12.201429

adasdasd

Początki automatyzacji – Selenium Webdriver

Ostatnio coraz więcej znajomych chce rozwijać swoje testerskie umiejętności i wyjść z roli tylko testera manualnego. Pytają często czy jest w internecie jakaś prosta instrukcja jak i gdzie zacząć. Szukałem i w sumie ciężko o bezpłatne i łopatologiczne wyjaśnienie co i jak należy zrobić. Dlatego właśnie wzięło mnie na przygotowanie cyklu wpisów o tym jak zacząć zabawę z automatyzacją. Na pierwszy ogień Selenium Webdriver.

Selenium Webdriver pozwala na automatyzację testów aplikacji webowych. Dzięki dobrze przygotowanemu zestawowi testów będziecie w stanie szybko stwierdzić czy wszystkie zmiany wprowadzone do testowanej aplikacji są zmianami pożądanymi. Wg mnie znacznie przyspiesza to pracę i pozwala skupić się na sprawdzaniu nowych funkcjonalności niż przeklikiwaniu kolejny raz tych samych modułów, ale jest też odmienny punkt widzenia – czas poświęcony na pisanie testów można wykorzystać inaczej. O za i przeciw – w innym artykule, zapraszam też do dyskusji w komentarzach.

Żeby rozpocząć pracę z Selenium Webdriver musicie znać podstawy jednego z języków programowania, link z wymienionymi wszystkimi dostępnymi znajdziecie na samym dole artykułu. Ja jestem fanem Pythona, stąd póki co artykuły będą poświęcone właśnie pracy na tym języku. Później również pojawi się Java, na reszcie się nie znam, także ciężko powiedzieć czy artykuły o nich powstaną w niedalekiej przyszłości. ;)

Ok, znasz jakiś język programowania, ale nie jest to Python, a chcesz się pobawić Webdriverem na podstawie tego artykułu. Najlepszym sposobem na poznanie podstaw Pythona jest kurs na tej stronie: >> klik << Kurs jest co prawda po angielsku, ale nie wymaga biegłej znajomości tego języka. Z pomocą Tłumacza Google’a nie powinno być większych problemów z przebiciem się przez to.

Dobra, znasz już podstawy Pythona, czas się zabrać za instalację tego całego ustrojstwa. Zaczniemy od puszczania testów lokalnie, na twoim komputerze, później dojdzie odpalanie ich na serwerze za pomocą Jenkinsa, ale, jak mówił Bogusław Wołoszański, nie uprzedzajmy faktów.

Zaczniemy od instalacji na systemie Windows, który, póki co, jest chyba najpopularniejszy w Polsce. Ja mam Win 7 i wszystkie screeny będą z tego systemu, ale nie powinno być większych różnic dla Win XP i Win 8. Jeśli takowe miałyby się pojawić postaram się wskazać gdzie można znaleźć rozwiązanie problemu. Potrzebujesz 6 rzeczy: Java Development Kit, Pythona, wirtualnego środowiska, Selenium, przeglądarki i IDE w którym będziesz pisać swoje testy. No to po kolei.

Java Development Kit to najłatwiejsza rzecz do ogarnięcia. Nie jest to potrzebne do samego pisania i wykonywania testów, ale bez tego nasze IDE nie ruszy. Wystarczy wejść >> tu << i nacisnąć na przycisk „Download” przy JDK (patrz screen poniżej).

download

Powinno nastąpić przekierowanie do strony z najnowszą wersją JDK. Teraz, jak na screenie poniżej, trzeba zaakceptować warunki i wybrać wersję instalacyjną dla swojego systemu. Dla Win 7 wybrałem zaznaczoną pozycję. Na Firefoxie nie mogłem pobrać tego pliku, cały czas strona pluła się o zaakceptowanie warunków, dopiero na Chrome poszło bez problemu.

jdk2

Po pobraniu wystarczy zainstalować JDK, nie ma konieczności zmiany ustawień instalatora. Zgódź się na wszystko, przeklikaj „Dalej” i jedna rzecz z głowy. Lecimy dalej ;)

Teraz załatwimy Pythona, środowisko wirtualne, Selenium i przeglądarkę. Po pierwsze pobierz Pythona w wersji  2.X.X z >> tej << strony. Wersję się zmieniają, teraz jest 2.7.9 (patrz screen poniżej). Można również tworzyć automaty dla Pythona 3.X.X, jeśli chcecie poczytać o różnicach w wersjach to zapraszam do linku na końcu artykułu. W późniejszych artykułach testy pisane będą dla 2.X.X, stąd jeśli zdecydujecie się na instalację 3.X.X w części z nich będziecie musieli zrobić kosmetyczne poprawki.

python

Po odpaleniu instalatora ważne jest, żeby zaznaczyć opcję z dodaniem ścieżek do Pythona do zmiennej PATH, oszczędzi to trochę pracy ;) Całość instalacji można zobaczyć >> tu << Lokalizacja waszego folderu z Pythonem nie ma znaczenia, dla ułatwienia możecie użyć domyślnej ;) Jeżeli wszystko jest ok po wywołaniu linii komend (na klawiaturze znak Windows + R, potem wpisać w oknie cmd i wcisnąć enter) i wpisaniu python powinna się wyświetlić jego wersja. U mnie wyglądało to >> tak <<.

Python zainstalowany, czas na wirtualne środowisko. Co daje wirtualne środowisko możecie doczytać wchodząc w link na końcu artykułu. Odpal jeszcze raz linię komend. Musimy dostać się do folderu Scripts w lokalizacji, w której zainstalowaliście Pythona. Dla osób niezaznajomionych z linią komend – żeby cofnąć się o jeden folder wstecz należy wpisać cd.. i wcisnąć enter a o jeden folder do przodu cd nazwa_folderu + enter. U mnie przejście do folderu wyglądało >> tak <<. Teraz trzeba zainstalować pipa i wirtualne środowisko. Żeby to zrobić najpierw wpisz easy_install pip i wciśnij enter. Jak już się zainstaluje wpisz pip install virtualenv i wciśnij enter. Powinno to wszystko wyglądać >> tak << Teraz pozostaje tylko wybrać gdzie chce się posiadać folder z wirtualnym środowiskiem i jak się ma nazywać. Ja chciałem, żeby był on w głównym folderze pythona i nazywał się „Tests”. Najpierw cofnąłem się o jeden folder wpisując cd.. i wciskając enter, a potem zainstalowałem wszystko wpisując Scripts\virtualenv Tests i enter. Tests to nazwa folderu, tu również jest dowolność. Powinno to wyglądać >> tak <<.

Brawo, wirtualne środowisko zainstalowane. Teraz Selenium. Dalej w linii komend przechodzimy do utworzonego folderu, a następnie do folderu Scripts. Będąc już w tej lokalizacji wpisz pip install selenium i enter. Powinno to wyglądać >> tak <<. 

Teraz jeszcze tylko wybór przeglądarki. Na początek proponuję Firefoxa lub Chrome’a. Firefox do pobrania >>tu<<, Chrome do pobrania >> tu << W przypadku Chrome’a potrzebny jest jeszcze chromedriver. Znajdziecie go >> tutaj << Proponuje wybrać najnowszą wersję (teraz 2.13) i pobrać paczkę dla odpowiedniego systemu (u mnie chromedriver_win32.zip). Po pobraniu trzeba rozpakować paczkę, do pliku trzeba ustawić zmienną PATH, ale dla ułatwienia po prostu wrzućcie ten plik do folderu Pythona. Et voila.

Pozostaje ostatnia rzecz do zrobienia – instalacja i konfiguracja IDE. Czym jest IDE dowiecie się wchodząc w link z końca artykułu. Od tej pory całość pracy będzie wykonywana tam. Ja korzystam z Eclipse, do pobrania >>stąd<<. Eclipse IDE for Java Developers,  ja korzystam z wersji 64 Bit. Po pobraniu trzeba rozpakować do dowolnego folderu i Eclipse jest gotowy do odpalenia. Po włączeniu Eclipse żąda podania folderu, w którym będą się znajdować projekty. Czy zostanie domyślny czy stworzycie własny – nie ma to większego znaczenia, jak wygodniej ;) Teraz trzeba zainstalować IDE dla Pythona. Wejdź w menu Help, następnie wybierz Eclipse Marketplace. W polu Find wpisz pydev i wciśnij enter. Jednym z wyników wyszukiwania powinien być PyDev – Python IDE for Eclipse 3.9.0. Kilknij na przycisk Install, a następnie potwierdź umowy licencyjne i certyfikaty. Całość instalacji u mnie wyglądała >> tak <<. Eclipse będzie się chciał zrestartować, na co mu pozwalamy. Po restarcie po wciśnięciu przycisku w prawym górnym rogu Open Perspective jedną z opcji powinien być PyDev. Zaznacz, kliknij na OK i gotowe! Masz wszystko co potrzebne by zacząć tworzyć automaty w Pythonie!

W następnej części stworzymy projekt i odpalimy pierwszy test ;)

Dajcie znać w komentarzach jeśli coś jest niejasne, postaram się wytłumaczyć o ile będę potrafił ;)

Andrzej Poniedziałek

Języki programowania dla Selenium Webdriver: http://docs.seleniumhq.org/about/platforms.jsp#programming-languages

Czym jest wirtualne środowisko: https://virtualenv.pypa.io/en/latest/

Co to IDE: http://pl.wikipedia.org/wiki/Zintegrowane_%C5%9Brodowisko_programistyczne

Python 2 a Python 3: https://wiki.python.org/moin/Python2orPython3

  • Jurand

    Strasznie chaotyczny opis. Tekst jest przeplatany screenami, które są zbędne a te ciekawsze ukryte pod linkami. Proponowałbym rozpisać to w punktach aby można się było łatwiej odnieść. „E voila” – co to ma znaczyć? To może lepiej od razu „e włala”?

    • Andrzej Poniedziałek

      Dzięki za komentarz! „t” mi gdzieś wcięło, poprawione. Co do zrzutów ekranu – wszystkie są chyba wrzucone w tekst, pod linkami powinny być tylko filmiki. Tych wrzuconych też nie ma chyba na tyle dużo, żeby przeszkadzały w odbiorze tekstu.
      Co do chaotyczności opisu – napisz proszę coś więcej, ja miałem wrażenie, że opisywałem krok po kroku co trzeba zrobić, ale może da się coś zrobić łatwiej, albo w sensowniejszej kolejności.

  • Pingback: Selenium WebDriver – pierwsze testy | Testspring | testerzy, testowanie oprogramowania, outsourcing testów, profesjonalny software testing

  • Czaro

    Ja uważam, że spoko; ) Powoli i spokojnie udało się dojść do końca wpisu i chyba nic po drodze nie popierniczyłem(: will see(;

  • Adrian

    Proszę o info czy jest gdzieś taki sam poradnik ale nie dla Pythona tylko Javy ?

testowanie oprogramowania | outsourcing testów | software testing | testerzy