Урок 19. Playwright: POM, фикстуры, трассировка, параллельность
⚠️ Бонус-блок вне лекций курса. Playwright — современная альтернатива Selenium. API сверяйте с официальной документацией playwright.dev/python.
⚡ Кратко: инфраструктура тестов
- POM в Playwright: класс страницы хранит
pageи локаторы, методы выполняют сценарии. - Фикстуры pytest-playwright:
page,context,browser; настройка черезbrowser_context_argsи--base-url. - Отладка:
--tracing=retain-on-failure+playwright show-trace; видео и скриншоты. - Параллельно:
pytest -n auto(pytest-xdist). - API + UI:
APIRequestContextдля подготовки данных через REST.
Топ-3 ошибки: 1) Локаторы в тестах, а не в классе страницы. 2) Завязка тестов друг на друга при параллельном прогоне. 3) Трассировку включают, но не сохраняют артефакты в CI.
📖 О чём этот урок
Когда тестов много, важна инфраструктура: как организован код (POM), как настраиваются браузеры (фикстуры), как отлаживать падения (трассировка) и как ускорять прогон (параллельность). Этот урок собирает всё это для Playwright и показывает мостик к API-тестированию.
Что изучим
- Page Object Model на Playwright: классы страниц на
Locator - Встроенные фикстуры
pytest-playwrightи их настройка conftest.py:browser_context_args,--base-url, свои фикстуры- Трассировка, видео, скриншоты; Trace Viewer
- Параллельный запуск через pytest-xdist
- API-тестирование:
APIRequestContextи связка UI+API
📚 Что повторить перед изучением
- ← Урок 18: локаторы и действия Playwright
- ← Урок 11: POM на Selenium — будем сравнивать
- ← Урок 13: Requests — основа для API-части
- pytest-фикстуры:
@pytest.fixture,yield,scope