Co zrobimy?

Mamy już przygotowany projekt – czas na pierwszą linię kodu i interakcję z Selenium.

Wersja video tej lekcji

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 wersję wideo gdyż pokazane tam kroki są generalnie poprawne.

Pythonowe pakiety i moduły

Warto zauważyć, że dla Pythona istniejące rozwiązania, z których chcemy skorzystać, występują pod postacią tak zwanych pakietów (ang. packages). W formie takiego pakietu pobierzemy Selenium.

Będę opisywał wybrane elementy tego pakietu a pełny opis dostępnych funkcjonalności znajdziesz w nieoficjalnej dokumentacji http://selenium-python.readthedocs.io/api.html

Z pakietu Selenium użyjemy modułu WebDriver. Moduły to takie gotowe kawałki kodu, dzięki którym nie trzeba wszystkiego pisać na nowo a wystarczy skorzystać z czyjejś ciężkiej pracy (szerzej opisujemy to w wideo).

Używamy Selenium

Czas z skorzystać z pakietu Selenium:

from selenium

czyli bierzemy (from) z pakietu selenium – proste nie?

Podkreślone na czerwono sugeruje, że nasze IDE nie widzi takiej paczki ponieważ wraz z instalacją Pythona takiej nie otrzymaliśmy.

TIP: Wraz z instalacją Python dostajemy wiele pomocnych pakietów jednak nie Selenium. PyCharm oferuje automatyczne importy (o innych sposobach importowania dowiesz się w kolejnych częściach kursu) i prezentowane poniżej rozwiązanie zadziała dla innych zewnętrznych pakietów (czyli takich, które nie zostały dostarczone wraz z instalacją Pythona).

Klikamy na nazwę selenium i wciskamy kombinację klawiszy odpowiedzialną za podpowiedzi akcji naprawczych ALT + ENTER (powinna pojawić się także ikona czerwonej żarówki, którą można kliknąć i uzyskamy ten sam efekt – zobacz poniższy screen).

 

Wybieram pierwszą opcję – install package selenium. Powinno rozpocząć się pobieranie pakietu co sygnalizowane jest paskiem postępu w prawej dolnej części okna IDE a następnie dostaniemy informację o powodzeniu instalacji.

 

Po zakończonej instalacji podkreślenie powinno zniknąć co oznacza, że IDE potrafi powiązać naszą linijkę kodu gdzie robimy import z właśnie zainstalowanym pakietem.

Następnie dokańczamy linię kodu – z pakietu selenium importujemy (import) moduł webdriver:

from selenium import webdriver

Piątka – napisałeś pierwszą poprawną linię kodu!

I to nie tylko linię kodu ale dodatkowo miałeś styczność z pojęciami: pakiet, moduł i ich praktycznym użyciem oraz wykorzystałeś nasze IDE do automatycznego importu pakietu. Czas na więcej kodowania – przejdź do następnej lekcji.

UWAGA: Jeśli już wcześniej miałeś zainstalowaną pakiet Selenium możliwe, że potrzebny będzie jego update (w żargonie korporacyjnym to angielskie słowo często jest używane wymiennie do słowa aktualizacja). Przejdź: PyCharmFile->Settings->Project:demo_tests->Project Interpreter.
Odnajdź pakiet (Package) selenium a następnie upewnij się czy wartości w Version i Latest są identyczne. Jeśli nie to kliknij linie z selenium i naciśnij niebieską strzałkę skierowaną w górę z prawej strony. Następnie OK i juz masz zaktualizowaną paczkę. Generalnie w ten sposób możesz zaktualizować każdą paczkę. Na obrazku poniżej pokazany jest nieaktualny pakiet oraz gdzie kliknąć aby go uaktualnić.

2 komentarze

  1. Ubuntu 16.04.6+Pycharm 2019.1+Python3.5
    Podczas próby wykonania tej lekcji leciał błąd przy instalacji selenium.
    W ustawieniach Pycharma widziałem komunikat:
    “Python packaging tools not found. Install packaging tools.”
    Na stackoverflow znalazłem rozwiązanie aby zainstalować pipa:
    sudo apt install python3-pip

    I teraz działa! 🙂
    https://stackoverflow.com/questions/43567996/pycharm-python-packaging-tools-not-found/43572801

    Avatar Krzysztof Glinka
    1. Doskonale! 😀

      Na linuxie jest kilka subtelnych różnic (w stosunku do Win OS) odnośnie wymaganych pakietów etc. W odległych planach mamy także opisanie tego jak pisać testy na Ubuntu 🙂
      Pozdrawiam!

      Krzysiek Kijas Krzysiek Kijas

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *