Narzędzia - Python i PyCharm

Python to popularny język programowania o licznych zastosowaniach. Przydaje się między innymi w testowaniu i prototypowaniu. Jest językiem wysokiego poziomu, zorientowanym obiektowo, z silnym i dynamicznym typowaniem (nie wymaga deklarowania typów zmiennych), automatycznym zarządzaniem pamięcią (ma garbage collector), wspieranym na wielu platformach sprzętowych i systemowych. W tym artykule opiszę kroki potrzebne do skonfigurowania środowiska programistycznego, pobrania repozytorium z prostym testem napisanym we frameworku Pytest oraz uruchomienia go na dwa sposoby.

Tip: Przed przystąpieniem do przygotowania poniższej konfiguracji warto zainstalować system kontroli wersji Git oraz emulator konsoli cmder, możesz w tym celu skorzystać ze wskazówek w naszym wcześniejszym artykule.

Interpreter Python

Instalator najnowszej wersji Python 3 pobierz ze strony projektu: https://www.python.org/downloads/. Podczas instalacji możesz skorzystać z domyślnych ustawień, upewnij się jedynie, że została zaznaczona opcja dodania Pythona do zmiennej środowiskowej PATH.

Aby sprawdzić, czy interpreter jest gotowy do użycia, z wiersza poleceń możesz wykonać komendę:

python --version

…co powinno wypisać na ekran numer zainstalowanej wersji interpretera (powinien zaczynać się od 3), na przykład:

Python 3.6.5

Zintegrowane środowisko programistyczne PyCharm

Do efektywnego pisania kodu przyda się odpowiednie narzędzie, czyli zintegrowane środowisko programistyczne (ang. IDE - integrated development environment). Jednym z najpopularniejszych środowisk do programowania w języku Python jest PyCharm, tworzony przez firmę JetBrains, odpowiedzialną również za podobne narzędzia dedykowane do innych technologii, na przykład IntelliJ dla języka Java.

PyCharm jest dostępny w wersjach Community (podstawowej, darmowej) i Professional (rozszerzonej, płatnej). Wersja Community z powodzeniem wystarczy na potrzeby prostych projektów automatyzacji testów. Instalator możesz pobrać ze strony projektu: https://www.jetbrains.com/pycharm/download/, a następnie podczas instalacji skorzystać z domyślnych ustawień.

Konfiguracja przykładowego projektu

Aby pobrać i skonfigurować przykładowy projekt pytest-venv-example, musisz wykonać następujące kroki:

  1. Sklonuj repozytorium: git clone https://gitlab.com/qalabs/blog/pytest-venv-example.git.
  2. Przejdź do katalogu projektu: cd pytest-venv-example.
  3. Utwórz środowisko wirtualne: python -m venv venv
  4. Aktywuj środowisko wirtualne: venv\Scripts\activate.bat.
  5. Zainstaluj zależności zdefiniowane w pliku: pip install -r requirements.txt.

Uruchomienie testu z linii poleceń

Aby uruchomić test z linii poleceń, wykonaj następującą komendę:

pytest

Jeśli wszystko przebiegło prawidłowo, to w konsoli wyświetli się wynik podobny do tego:

============================= test session starts =============================
platform win32 -- Python 3.6.5, pytest-3.6.1, py-1.5.3, pluggy-0.6.0
rootdir: pytest-venv-example, inifile:
collected 1 item

test_qalabs.py .                                                         [100%]

========================== 1 passed in 1.59 seconds ===========================

Uruchomienie testu w PyCharm

Aby uruchomić test w środowisku programistycznym, na początek otwórz katalog projektu w PyCharm. Upewnij się, że jako interpreter dla projektu jest ustawiony ten ze środowiska wirtualnego. Otwórz ustawienia `File | Settings | Project:pytest-venv-example | Project interpreter” i sprawdź, czy wskazuje na utworzone wcześniej środowisko.

Otwórz ustawienia File | Settings | Tools | Python Integrated Tools i ustaw Default test runner na py.test:

Kliknij prawym klawiszem na katalog projektu i uruchom testy poleceniem Run 'py.test in pytest-venv-example:

W dolnej części okna otworzy się konsola uruchomienia:

Zobaczysz tam raport z testów (1) i wynik działania skryptu (2).

Maciej Chmielarz

Nazywam się Maciej Chmielarz. Pracuję w branży informatycznej od 2008 roku. Doświadczenie zdobywałem u pracodawców należących do polskiej i światowej czołówki firm technologicznych, producentów unikatowych rozwiązań inżynierskich. Chętnie dzielę się wiedzą, prowadzę wykłady z testowania oprogramowania, występuję na konferencjach i spotkaniach branżowych oraz aktywnie uczestniczę w ich organizacji. Jestem pasjonatem cyberbezpieczeństwa i budowania świadomości informatycznej w społeczeństwie.