Это краткое руководство по настройке Python и Pytest, установке Playwright и запуску первого теста.
Проверьте установленную версию Python, выполнив следующую команду в терминале:
python3 --version
Управление несколькими версиями Python
Далее мы используем pyenv - инструмент командной строки, предназначенный для управления несколькими версиями Python. Это полезно, если вы работаете над несколькими проектами, использующими разные версии Python. Ознакомьтесь с readme проекта 'pyenv' на GitHub для получения дополнительной информации о том, как установить его на вашу операционную систему. Для windows можно использовать pyenv-win или встроенную виртуальную среду Python - venv.
После установки pyenv мы можем использовать следующую команду для установки определенной версии Python:
pyenv install 3.11
Эта команда загрузит код курса для Python 3.11, скомпилирует его и установит в качестве одной из доступных версий Python, которую можно использовать на вашем компьютере. После этого мы можем использовать команду pyenv shell для переключения на только что установленную версию Python:
pyenv shell 3.11
Чтобы убедиться в том, что используется правильная версия Python, можно выполнить следующую команду:
python --version
Создание виртуальной среды
Далее нам необходимо загрузить пакет virtualenv из индекса пакетов Python (PyPI). Это инструмент, используемый для создания изолированных сред Python. Виртуальные среды позволяют создать автономную среду с собственным набором библиотек и зависимостей Python и предотвращают конфликты между различными зависимостями проекта при работе над несколькими проектами. Программа установки пакетов для Python называется pip. Для установки нашей виртуальной среды мы можем выполнить следующую команду:
pip install virtualenv
Затем мы можем создать новую папку для нашего проекта и изменить каталог таким образом, чтобы оказаться внутри этой папки. Это можно сделать с помощью терминала, выполнив следующие команды:
mkdir my-project
cd my-project
Теперь необходимо создать виртуальную среду для нашего проекта. Внутри только что созданной директории мы создадим изолированную среду с собственным интерпретатором Python и отдельным набором библиотек и пакетов Python. virtualenv - это команда, используемая для создания виртуальной среды, и мы можем указать имя виртуальной среды, которую хотим создать. В данном случае мы будем называть ее env:
virtualenv env
После создания виртуальной среды мы можем активизировать ее с помощью следующей команды:
В MacOS и Linux:
source env/bin/activate
В Windows:
env\Scripts\activate
Установка Pytest и Playwright
Теперь, когда все настроено, мы можем приступить к установке пакета pytest-playwright, который представляет собой плагин, интегрирующий Playwright с тестовым фреймворком Pytest. Программа установки пакетов для Python называется pip и используется для установки пакетов из индекса пакетов Python (PyPI). Мы можем установить пакет pytest-playwright с помощью следующей команды, которая также установит pytest, если он еще не установлен.
pip install pytest-playwright
Далее нам необходимо воспользоваться инструментом командной строки Playwright для установки необходимых двоичных файлов браузеров, которые хранятся локально и используются Playwright для запуска и взаимодействия с браузерами. Их можно установить с помощью следующей команды:
playwright install
Создание теста
Теперь в выбранном нами редакторе мы можем создать новый файл с именем test_example.py и создать пример теста. В Python мы должны всегда префиксировать наш тестовый файл словом test.
import re
from playwright.sync_api import Page, expect
def test_has_title(page: Page):
page.goto("https://playwright.dev/")
# Ожидаем, что заголовок "будет содержать" подстроку.
expect(page).to_have_title(re.compile("Playwright"))
def test_get_started_link(page: Page):
page.goto("https://playwright.dev/")
# Щелкните по ссылке для начала работы.
page.get_by_role("link", name="Get started").click()
# Ожидается, что страница будет иметь заголовок с названием Installation.
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
Запуск нашего теста с помощью Playwright
Теперь мы готовы запустить наш тест, чтобы проверить, работает ли он. Для этого в терминале можно выполнить следующую команду:
pytest
И прямо в терминале вы можете увидеть, что теперь у нас есть пройденный тест. Мы успешно настроили Python и Pytest, установили Playwright и запустили наш первый тест. Однако визуально мы не увидели, что наш тест прошел, поскольку по умолчанию Playwright работает в режиме headless, то есть без окна браузера. Мы можем изменить это, добавив в команду флаг --headed:
pytest --headed
В этот раз появится окно браузера, и тест будет запущен, что позволит наглядно увидеть его прохождение.
Заключение
В этом посте мы узнали, как настроить Python и установить Playwright, чтобы легко писать и выполнять тесты Playwright на Python. Дополнительную информацию о написании, выполнении и генерации тестов Playwright на Python можно найти в документации по Playwright.