⚡ Что сделать
- Вынести логин в класс-страницу
- Настроить base_url и трассировку
- Запустить параллельно
Ответы — на странице Решения.
Часть 1. Опрос
- Почему в Playwright-POM локаторы можно объявлять в
__init__ до загрузки страницы?
- Какая фикстура отвечает за изоляцию теста и почему это упрощает параллельный прогон?
- Как переопределить размер окна для всех тестов?
- Какой режим трассировки разумен в CI и как открыть результат?
- Чем
APIRequestContext полезен в UI-тестах?
Часть 2. POM
- Создайте
pages/login_page.py с методом login(user, pwd) и pages/inventory_page.py с методом add_to_cart(name).
- В
conftest.py добавьте фикстуры login_page и inventory_page.
- Напишите тест, который логинится и добавляет товар, используя только методы страниц.
Часть 3. Инфраструктура
- Запустите тесты с
--base-url https://www.saucedemo.com, заменив goto("https://...") на goto("/").
- Включите
--tracing=retain-on-failure и намеренно «сломайте» один тест — откройте trace.
- Запустите весь набор параллельно
-n auto.
Проверка понимания
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Вопрос 1
Чем Playwright полезен для E2E?
Вопрос 2
Что такое web-first assertion?
Вопрос 3
Что проверяет автоматизированный тест?
Вопрос 4
Почему тест должен быть воспроизводимым?
Вопрос 5
Что делает assert?
Вопрос 6
Что такое локатор?
Вопрос 7
Почему явные ожидания лучше sleep?