📝 Задания

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

⚡ Что сделать

  • Дописать CartPage и LoginPage
  • Добавить data-driven и негативный сценарий
  • Запустить проект с трассировкой

Ответы — на странице Решения.

Часть 1. Опрос

  1. Что проверяет E2E-тест и чем он отличается от проверки одного элемента?
  2. Зачем сохранять storage_state и как его переиспользовать?
  3. Почему проверки стоит делать на каждом шаге сценария?
  4. Как одним тестом проверить добавление 3 разных товаров?
  5. Какой негативный сценарий уместен на странице оформления?

Часть 2. Достроить страницы

  1. pages/cart_page.py: локатор items (.cart_item) и метод checkout() (кнопка «Checkout»).
  2. pages/login_page.py: методы open() и login(user, pwd) (для фикстуры storage_state).

Часть 3. Тесты

  1. Завершить test_full_order из примеров (заказ от логина до «Thank you for your order!»).
  2. Data-driven: добавить параметризованный тест на 3 товара.
  3. Негативный: на странице оформления нажать «Continue» с пустым «First Name» и проверить, что появилось сообщение об ошибке (.error-message-container / текст «Error»).

Часть 4. Запуск

  1. Прогнать всё: pytest --base-url https://www.saucedemo.com --tracing=retain-on-failure -n auto.
  2. Намеренно сломать локатор, открыть trace, починить.