Урок 20. Playwright: мини-проект E2E

🎁 Бонус-блок: Playwright ⏱️ Время изучения: ~80 мин 🎯 Сложность: Продвинутая
#playwright #e2e #mini-project #storage_state #parametrize
⚠️ Бонус-блок вне лекций курса. 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 тест добавления разных товаров
  • Запуск с трассировкой и параллельно

📚 Что повторить перед изучением

🎯 Что изучать дальше