🏠 Домашнее задание

← К оглавлению урока

⚡ Что сдать

  • Готовый проект shop_e2e/ (pages + conftest + tests)
  • E2E-тест заказа + data-driven + негативный
  • Вывод pytest и один trace.zip

Окружение

pip install pytest-playwright pytest-xdist
playwright install

Задание

Доведите мини-проект до рабочего состояния и расширьте его:

  1. Соберите 4 страницы (Login/Inventory/Cart/Checkout) и conftest.py со storage_state.
  2. Реализуйте test_full_order с проверками на каждом шаге.
  3. Добавьте data-driven тест на 3 товара.
  4. Добавьте негативный тест (пустое поле доставки → ошибка).
  5. Свой сценарий: придумайте и реализуйте ещё один пользовательский путь (например, удаление товара из корзины и проверка пустой корзины).

Структура

shop_e2e/
├── pages/  (login, inventory, cart, checkout + __init__.py)
├── tests/  (test_order.py, test_checkout_negative.py)
├── conftest.py
└── requirements.txt

Проверка

  • pytest -v --base-url https://www.saucedemo.com -n auto — все passed.
  • Сломайте шаг → --tracing=retain-on-failure → разберите trace через playwright show-trace.
  • Отладка в VS Code: launch.json с "type": "debugpy", "module": "pytest".

🎉 Поздравляем

Вы прошли бонус-блок Playwright: от первого теста до E2E-проекта. Теперь вы знаете два инструмента автоматизации — Selenium и Playwright — и понимаете, когда какой уместен.

Связь с разделами