Урок 20. Playwright: мини-проект E2E
⚠️ Бонус-блок вне лекций курса. Playwright — современная альтернатива Selenium. API сверяйте с официальной документацией playwright.dev/python.
⚡ Кратко: мини-проект
Собираем сквозной (E2E) сценарий интернет-магазина на Playwright: логин → выбор товаров → корзина → оформление заказа → подтверждение. Применяем всё из блока: POM, фикстуры, авто-ожидания, web-first проверки.
- Авторизация один раз через
storage_state— остальные тесты стартуют уже залогиненными. - Data-driven: один тест на нескольких наборах данных через
@pytest.mark.parametrize. - Чистая структура:
pages/,tests/,conftest.py. - Трассировка упавших тестов для отладки.
📖 О чём этот урок
Финал бонус-блока — небольшой, но «настоящий» проект: полный пользовательский путь покупки на учебном магазине saucedemo.com. Урок связывает воедино уроки 17–19 и показывает структуру, близкую к боевой.
Что соберём
- POM:
LoginPage,InventoryPage,CartPage,CheckoutPage - Фикстуру авторизации через
storage_state(логин один раз) - E2E-тест полного заказа с проверками на каждом шаге
- Data-driven тест добавления разных товаров
- Запуск с трассировкой и параллельно
📚 Что повторить перед изучением
- ← Урок 19: POM, фикстуры, трассировка
- ← Урок 18: локаторы и действия
- ← Урок 17: введение в Playwright
- pytest:
@pytest.mark.parametrize, фикстуры сscope
🎯 Что изучать дальше
- Итоговое повторение курса (урок 16)
- Playwright Best Practices
- Попробуйте перенести проект в CI (GitHub Actions) с сохранением трассировок