Ответ вслух Senior Playwright обновлено

Каркас на Playwright

Вопрос

Расскажите, как вы построите каркас UI-автотестов на Playwright для большого продукта.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Беру @playwright/test на TypeScript. Структура: папка тестов по фичам, слой страниц и компонентов, фикстуры, билдеры данных, конфиг.

Что должно прозвучать в ответе

  • Структура: тесты, 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 ошибок.

Термины по теме