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

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

⚡ Что сдать

  • POM-проект (pages/ + conftest.py + tests/)
  • Запуск с base_url и трассировкой, параллельно
  • Вывод pytest + один trace.zip упавшего теста (специально сломайте и почините)

Окружение

pip install pytest-playwright pytest-xdist
playwright install

Задание

Соберите POM-проект для saucedemo.com:

  1. pages/login_page.py (open, login) и pages/inventory_page.py (add_to_cart, cart_badge).
  2. conftest.py: фикстуры login_page, inventory_page и viewport через browser_context_args.
  3. tests/test_shop.py: 3 теста (логин; добавить 1 товар; добавить 2 товара).
  4. Запуск: pytest --base-url https://www.saucedemo.com --tracing=retain-on-failure -n auto.

Структура

project/
├── pages/
│   ├── __init__.py
│   ├── login_page.py
│   └── inventory_page.py
├── tests/
│   └── test_shop.py
├── conftest.py
└── requirements.txt

Проверка

  • pytest -v --base-url https://www.saucedemo.com — все passed.
  • Сломайте один локатор → --tracing=retain-on-failure → откройте trace через playwright show-trace, найдите шаг падения, почините.

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