Установка
Введение
Playwright был создан специально для удовлетворения потребностей в end-to-end тестировании. Playwright поддерживает все современные движки рендеринга, включая Chromium, WebKit и Firefox. Тестируйте на Windows, Linux и macOS, локально или на CI, в безголовом или с графическим интерфейсом режиме с нативной эмуляцией мобильных устройств.
Библиотека Playwright может использоваться как универсальный инструмент автоматизации браузера, предоставляя мощный набор API для автоматизации веб-приложений, как для синхронного, так и для асинхронного Python.
Это введение описывает плагин Playwright Pytest, который является рекомендуемым способом написания end-to-end тестов.
Вы узнаете
Установка Playwright Pytest
Playwright рекомендует использовать официальный плагин Playwright Pytest для написания end-to-end тестов. Он обеспечивает изоляцию контекста, выполняя его на нескольких конфигурациях браузера из коробки.
Начните с установки Playwright и запуска примерного теста, чтобы увидеть его в действии.
- PyPI
- Anaconda
Установите плагин Pytest:
pip install pytest-playwright
Установите плагин Pytest:
conda config --add channels conda-forge
conda config --add channels microsoft
conda install pytest-playwright
Установите необходимые браузеры:
playwright install
Добавление примерного теста
Создайте файл, который следует соглашению о префиксе test_
, например, test_example.py
, в текущем рабочем каталоге или в подкаталоге с кодом ниже. Убедитесь, что имя вашего теста также следует соглашению о префиксе 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/")
# Клик по ссылке "Get started".
page.get_by_role("link", name="Get started").click()
# Ожидаем, что на странице будет заголовок с именем Installation.
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
Запуск примерного теста
По умолчанию тесты будут запускаться на chromium. Это можно настроить через опции CLI. Тесты выполняются в безголовом режиме, что означает, что интерфейс браузера не будет открываться при запуске тестов. Результаты тестов и логи тестов будут показаны в терминале.
pytest
Обновление Playwright
Чтобы обновить Playwright до последней версии, выполните следующую команду:
pip install pytest-playwright playwright -U
Системные требования
- Python 3.8 или выше.
- Windows 10+, Windows Server 2016+ или Windows Subsystem for Linux (WSL).
- macOS 13 Ventura или новее.
- Debian 12, Ubuntu 22.04, Ubuntu 24.04 на архитектуре x86-64 и arm64.