Powrót do: Podstawy Testów Automatycznych w Selenium i Python cz. 1 – Twój pierwszy test automatyczny
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.
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
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.
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
Będzie nowa lokalizacja Selenium drivera: https://sites.google.com/chromium.org/driver/
Hej!
Dzięki wielkie za wyłapanie odbywającej się migracji strony z ChromeDriverem 😉 Dokonałem stosownych aktualizacji w lekcji 😀
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.
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,
Jak wygląda konfiguracja pod inne przeglądarki? Czy są jakieś odpowiedniki chromedrivera np “firefoxdriver” ?
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! 🙂
Dziękuję za szybką odpowiedź. Tego właśnie szukałem. 🙂
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
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/downloadswystarczy, ż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 poleceniepip
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 😛
dzięki bardzo za odpowiedź!. Właśnie próbuje to ogarnąć – dam znać czy się udało 🙂
Jest! działa dziękuję!!!!
Profeska – czas na kolejne kroki!
‘Podumowanie’ na końcu 🙂 Dzięki za kurs.
Dzięki za zwrócenie uwagi 😀 Poprawione 😉
“Chociażby” piszemy razem 🙂
Dzięki za uwagę naprawiamy 🙂