Wstęp

W tej lekcji zajmiemy się przygotowaniem środowiska pod nasze testy automatyczne aplikacji webowej. Opiszemy instalację potrzebnych narzędzi, takich jak Python, Selenium WebDriver, IDE PyCharm oraz przeglądarki Chrome.

AKTUALIZACJA lekcji wideo:
W związku z odświeżeniem tekstu całej serii kursów – lekcje wideo mogą okazać się odrobinę nieaktualne. Pracujemy nad tym – mimo to pozostawiamy tę wersję, gdyż pokazane tam kroki są generalnie poprawne.

TIP: Ta lekcja jest dostępna również w formie video:

Na czym działamy

Przykłady będą prezentowane na maszynie z systemem Windows 10 z zainstalowaną przeglądarką Chrome.

System Operacyjny

System Windows wybraliśmy ze względu na jego niezaprzeczalną popularność [1]. Wybór padł na wersję Windows 10, gdyż jest to najnowsza wersja tego systemu, więc będzie się częściej pojawiać w zastosowaniach komercyjnych (chociażby ze względu na bezpieczeństwo).


Wykres dotyczy miesiąca 10/2019.

Generalnie nie powinno być wiele rozbieżności w realizacji zaprezentowanych kroków pomiędzy innymi wersjami systemu Windows.
Sytuacja wygląda nieco inaczej dla macOS (dawniej OS X) czy Ubuntu, jednak w tym kursie skupimy się na Windows.
Niemniej jeśli napotkasz jakiekolwiek problemy w jakimkolwiek systemie zachęcamy do komentowania.

UWAGA: Przy instalacji oprogramowania mogą wystąpić problemy gdy nie masz zaktualizowanego systemu. Wynika to ze specyfiki tego kursu gdyż jedziemy tylko z najnowszymi na obecny czas wersjami. Po za tym uaktualniony system to bezpieczny system 🙂

Przeglądarka

Co do przeglądarki to wybór padł na Chrome także ze względu na jego popularność [globalne statystyki za 10/2018 – 10/2019]

Wiemy, że przy testowaniu nieodzowne jest sprawdzanie danej strony na innych wspieranych przeglądarkach i z ten temat został zarezerwowany dla kolejnych kursów.

Instalacja Pythona

Zaczniemy od zainstalowania na maszynie Pythona w wersji 3, którego można znaleźć pod tym linkiem.

Podczas instalacji upewnijmy się że obie opcje (Install for all users oraz Add Python to PATH) są zaznaczone.


Klikamy w pole z napisem Install Now widoczne na obrazku powyżej.

W następnym oknie jak poniżej zezwalamy na instalację wybierając opcję Yes.

I już Python powinien się instalować:

TIP: Może się zdarzyć, że po ukończeniu instalacji będzie dostępna opcja związana ze zmianą limitów dotyczących maksymalnej liczby znaków w ustawieniach systemowych Windows – warto jej użyć gdyż w przyszłości może to oszczędzić pewnych problemów.

Po instalacji Pythona dobrze jest zrestartować system aby wszystkie ustawienia były poprawnie dostępne i rozpoznawane przez aplikacje korzystające z Pythona.

Instalacja PyCharma

Następnie zainstalujemy IDE (pamiętasz? – środowisko programistyczne) PyCharm w darmowej wersji Community. Można je pobrać pod tym adresem.

Aktualizacja PyCharm 2018.1 i przyszłe wersje: Instalacja powinna przebiegać bardzo podobnie więc możesz śmiało przejść ją według zaprezentowanych kroków dla PyCharm 2017

TIP: PyCharm jest regularnie aktualizowany (co nas niezmiernie cieszy 🙂 ze względu na nowe funkcje), więc instalacja i kroki mogą nieznacznie się różnić od opisanych poniżej. Nie przejmuj się tym – generalnie kroki powinny posiadać tę samą logikę, więc powinieneś spokojnie przejść całą instalację. Jeśli coś sprawia Ci kłopoty, to daj nam jak najszybciej znać i z pewnością udzielimy jasnych wskazówek. Dodatkowo powstała lekcja Dodatek: Aktualizacja PyCharma, w której pokrywamy zagadnienie aktualizacji 😉

Na początek trzeba zaakceptować instalację.

Podczas instalacji zaznaczmy opcje 64bit launcher (jeśli posiadasz system 32 bitowy wtedy będziesz miał tylko opcję 32bit launcher i to ją powinieneś wybrać) oraz .py (aby środowisko rozpoznawało pliki pythonowe)

Na następnych ekranach Next i Install bez zmiany ustawień domyślnych

 

Na koniec zamykamy okno po powodzeniu instalacji gdyż program powinniśmy dopiero uruchomić po zakończeniu kolejnych kroków w tym kursie (inaczej coś może nie zadziałać 🙂 )

Instalacja Driver dla Selenium

Samo Selenium dodamy później ale wraz z pojawieniem się Selenium w wersji 3 nieodzowne jest pobranie drivera dla danej przeglądarki (driver czyli narzędzie zarządzające bezpośrednio przeglądarką i nasłuchujące poleceń wydawanych przez Selenium). Na obecne potrzeby pobierzemy driver dla przeglądarki Chrome.

UWAGA: Od pewnego czasu wersja pobieranego drivera musi idealnie pasować do wersji naszej przeglądarki. Zalecamy uważnie sprawdzić wersję posiadanej przeglądarki Chrome.

Wersję Chrome sprawdzisz wpisując w pasek adresu (gdzie standardowo znajduje się link do strony) chrome://settings/help i klikając Enter. Najważniejsze są dwie pierwsze cyfry z całej wersji np: Wersja 74.0.3729.157 (Oficjalna wersja) (64-bitowa) oznacza Chrome w wersji 74.

Teraz możemy przejść do pobierania drivera. Wchodzimy na https://sites.google.com/chromium.org/driver/. Obok nagłówka Current Releases znajdują się nazwy najnowszych wersji (na dzień 2018/10/26 ChromeDriver 2.43) które są jednocześnie linkami do stron umożliwiających pobranie drivera.

Zauważ, że pod tytułem danej wersji drivera znajduje się informacja o wspieranych wersjach Chrome (np. na dzień 2018/10/26 Chrome v69-71). Uaktualniając przeglądarkę (która często robi to sama) czasem trzeba liczyć się z potrzebą uaktualnienia drivera – co sprowadza się do jego pobrania i podmiany starej wersji.

Pobieramy drivera.

Klikamy w nazwę wersji drivera na wymienionej stronie i przechodzimy do pobierania. Wybieramy wersje chromedriver_win32.zip. Plik który znajduje się w spakowanym folderze (chromedriver.exe) kopiujemy do nowego folderu – u nas będzie to folder: C:/TestFiles.

UWAGA: Dokonaj update Chrome do najnowszej wersji (Selenium często tego wymaga). Gdy już będziesz pisał testy i nagle tajemniczo przestaną działać to oznacza, że twój chromedriver.exe prawdopodobnie stracił ważność 😀

AKTUALIZACJA chromedriver: Jeśli natrafisz na jakiekolwiek problemy z aktualizacją chromedriver odp znajdziesz w tych dwóch tematach na naszym forum:
Problem z podmianą uaktualnieniem chromedrvier
oraz
Uruchomienie testów skopiowanych z kursu zwraca błąd: unknown error.
Jeśli to nie rozwiązuje twojego problemu zapraszamy do komentowania na forum 🙂

Podsumowanie

Na zaktualizowanym systemie Windows z przeglądarką Chrome dodaliśmy Pythona, IDE Pycharm oraz WebDrivera. Pora stworzyć projekt :).

Kurs testowany ostatnio na wersjach oprogramowania:

System: Windows 10 Pro
Python: 3.7
PyCharm: 2018.2.4
Chrome: 70
WebDriver: 2.42

 

16 komentarzy

  1. Przy instalowaniu chromedriver wyskoczyl mi nastepujacy komentarz (tresc ponizej) na konsoli wiec nie jestem pewna czy udalo mi sie poprawnie go zainstalowac. Jak to sprawdzic/poprawnie zainstalowac / zabezpieczyc port do testow?

    Starting ChromeDriver 81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}) on port 9515
    Only local connections are allowed.
    Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

    Avatar Marta Wisniewska
    1. Hej,
      Na moją obecną wiedzę jest to tylko ostrzeżenie 🙂 Jeśli uruchamiasz testy lokalnie, za firewallem, to nie masz się o co martwić i możesz zignorować to ostrzeżenie 🙂

      Pozdrawiam,

      Krzysiek Kijas Krzysiek Kijas
    1. Hej – świetne pytanie!

      Odp: Oczywiście, że istnieją! 🙂 Standardowo wspierane są Mozilla Firefox, Microsoft Edge oraz Opera. Listę wraz z linkami znajdziesz w nowej dokumentacji dla Selenium (jeszcze nieoficjalnej, ale już mamy na nią oko 🙂 ) https://seleniumhq.github.io/docs/start.html#consumer_browsers
      Zasada jest ta sama, instalujesz przeglądarkę, zaciągasz plik z driverem i zaczynasz zabawę.

      Jeśli potrzebujesz testować na starym IE (Internet Explorer) to sprawa jest trochę bardziej skomplikowana – piszemy o tym w odpowiedzi na naszym forum Webdriver dla IE8.
      Podsumowując, jeśli chodzi o systemy desktopowe, to wymienione przeglądarki stanowią prawie 100% rynku i śmiało można na nich testować.

      Miłego eksplorowania z innymi przeglądarkami! 🙂

      Przemek Barański Przemek Barański
  2. Mam problem z instalacją WebDriver-a. Na MacOs Python 2.7.10 PIP 18.1
    Wszystko szło jak po maśle aż tu w momencie instalacji WebDrivera wyrzuca komunikat. Próbowałem zainstalować z terminala ale dostaje ten sam komunikat jak poniżej. Juz na rozne sposoby probwalem, nie moge sobie poradzić – proszę o pomoc

    Executing command
    pip install WebDriver

    Proposed solution:
    Try to run this command from the system terminal. Make sure that you use the correct version of ‘pip’ installed for your Python interpreter located at ‘/Users/aa/PycharmProjects/Project/bin/python’.

    Command Output
    Collecting WebDriver

    Could not find a version that satisfies the requirement WebDriver (from versions: )
    No matching distribution found for WebDriver

    Avatar Damian
    1. Hej

      Na początek gorąco zalecamy instalację Python3 chociaż można nasz kurs realizować na Python2 z drobnymi ustępstwami ;). O tym jak zainstalować Python3 na Os X dowiesz się z naszego wpisu na forum wsparcia https://jaktestowac.pl/question/jak-zainstalowac-pythona-3-na-macos-os-x/

      Wracając do trudności na które natrafiłeś:
      Nie musisz instalować pliku WebDriver pobranego stąd: http://chromedriver.chromium.org/downloads
      wystarczy, że go pobierzesz i umieścisz w dowolnym folderze. Następnie ścieżkę do tego pliku czyli chromedriver umieścimy w kodzie. Na przykład po pobraniu plik znajdzie się w folderze Downloads i tę ścieżkę dodasz do kodu z następnych lekcji (dla użytkownika jkowalski):
      /Users/jkowalski/Downloads/chromedriver

      Jeśli przez przypadek chodziło o Tobie w pytaniu o pakiet webdriver jest on częścią Selenium i stamtąd będzie zaimportowany (o tym wszystkim dowiesz się w następnych lekcjach tego kursu)
      Jeśli bardzo chcesz zainstalować pakiet webdriver to poprzez polecenie pip wystarczy zainstalować selenium i w nim będzie właśnie pakiet do komunikacji z pobranym plikiem chromedriver.

      W następnej lekcji poznajemy jak to zrobić automatycznie przez PyCharm więc generalnie nie ma potrzeby używania pip i pobierania przez niego pakietu selenium.

      Chyba wszystko wyjaśnione
      Pozdrawiam i życze udanego kodzenia na macu 😛

      Przemek Barański Przemek Barański

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *