📝 Задания

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

⚡ Что сделать

  • Вынести логин в класс-страницу
  • Настроить base_url и трассировку
  • Запустить параллельно

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

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

  1. Почему в Playwright-POM локаторы можно объявлять в __init__ до загрузки страницы?
  2. Какая фикстура отвечает за изоляцию теста и почему это упрощает параллельный прогон?
  3. Как переопределить размер окна для всех тестов?
  4. Какой режим трассировки разумен в CI и как открыть результат?
  5. Чем APIRequestContext полезен в UI-тестах?

Часть 2. POM

  1. Создайте pages/login_page.py с методом login(user, pwd) и pages/inventory_page.py с методом add_to_cart(name).
  2. В conftest.py добавьте фикстуры login_page и inventory_page.
  3. Напишите тест, который логинится и добавляет товар, используя только методы страниц.

Часть 3. Инфраструктура

  1. Запустите тесты с --base-url https://www.saucedemo.com, заменив goto("https://...") на goto("/").
  2. Включите --tracing=retain-on-failure и намеренно «сломайте» один тест — откройте trace.
  3. Запустите весь набор параллельно -n auto.