Каркас на Playwright
Вопрос
Расскажите, как вы построите каркас UI-автотестов на Playwright для большого продукта.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Структура: тесты, Page Object или компоненты, фикстуры, данные, конфиг
Фикстуры: страницы, авторизованные пользователи, тестовые данные через API
Авторизация через storageState и setup-проект
Проекты для браузеров и окружений, baseURL из переменных
Параллельность: fullyParallel, изоляция данных по воркерам, шардинг в CI
Отладка и отчёт: трейс on-first-retry, HTML-отчёт или Allure
Что могут спросить следом
- Как вы организуете тестовые данные при параллельном запуске?
- Что положите в фикстуры, а что в Page Object?
- Как будете бороться с флаки?
Разбор
Образцовый ответ: «Беру @playwright/test на TypeScript. Структура: папка тестов по фичам, слой страниц и компонентов, фикстуры, билдеры данных, конфиг. Через test.extend даю тестам готовые Page Object и авторизованных пользователей, данные создаю через фикстуру request по API, а не через UI. Логин один раз в setup-проекте со storageState. В конфиге проекты на Chromium и WebKit, baseURL из переменной окружения. Включаю fullyParallel, поэтому каждый воркер получает своего пользователя. В CI шардинг на 4 машины, трейс on-first-retry, ретрай 1 с отчётом по flaky и HTML-отчёт в артефактах»).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.