СЕРЕЖА РИС

Статьиclaude code

E2E тесты пишет агент: Playwright + Claude Code

Содержание
E2E тесты пишет агент: Playwright + Claude Code

Локатор поменялся — тест сломался. Фронтендер обновил форму — опять всё красное. Я переписывал один и тот же тест для регистрации раз шесть за квартал.

А потом Playwright добавил агентов.

Проблема

Тесты жрут время. Писать скучно. Поддерживать — ад.

Каждый релиз превращается в археологические раскопки: где сломалось, почему data-testid больше не работает, куда делась кнопка. При этом без тестов я просто боюсь деплоить.

Решение

В октябре 2025 (Playwright 1.56) появились три встроенных агента:

  1. Planner — открывает приложение в браузере, кликает по интерфейсу, генерирует Markdown-план тестов
  2. Generator — читает план и пишет код с локаторами через getByRole, getByLabel
  3. Healer — запускает тесты, ловит падения, сам правит сломанные локаторы

Одна команда для Claude Code:

npx playwright init-agents --loop=claude
Исследуй приложение на localhost:3000 и напиши план тестов для авторизации: вход, выход, ошибка при неверном пароле.

Planner открыл браузер, потыкал формы, нашёл все поля. Минута — и готов Markdown с планом на 12 сценариев.

Сгенерируй тесты по этому плану.

Generator выдал три файла. Локаторы — accessibility-first, как любит Playwright.

Сдвиг в голове

Раньше я тратил время на вопросы реализации. Какой локатор надёжнее? Нужен Page Object или нет? Мокать API или поднимать тестовую базу?

Теперь формулирую только: “Что должно работать?” Детали — на агенте.

Healer отдельно радует. Тест упал после обновления UI? Healer смотрит ошибку, находит элемент по новому селектору, правит файл. Я узнаю об этом из диффа в PR.

Где не работает

По-моему, агенты плохо справляются с тремя вещами:

  • Сложная бизнес-логика — её всё равно нужно объяснять словами, агент не угадает edge cases
  • Генерация избыточных тестов — иногда создаёт 20 проверок там, где хватило бы 5
  • API-тесты — для них я до сих пор пишу руками, агенты заточены под UI

Но для форм, навигации, CRUD — работает.

Результат

Покрыл тестами админку онлайн-курса (47 тестов) и Telegram-бота для заявок (23 теста). Руками это заняло бы дней пять. С агентами — два вечера, и то большую часть времени ждал, пока Planner накликает интерфейс.

Playwright MCP даёт Claude Code прямой доступ к браузеру. Агент видит страницу, кликает, проверяет результат. Тесты проходят в реальном Chrome ещё до коммита — не в абстрактном окружении.

Смотри также

Источники