e2e — фреймворк для тестирования приложений с ИИ-агентом

Открытый TypeScript-фреймворк для веб- и мобильных тестов: сочетает точные проверки с действиями ИИ-агента.

e2e — открытый фреймворк TesterArmy для сквозного тестирования приложений. В одном тесте он объединяет точные проверки по локаторам и действия ИИ-агента, описанные обычными словами. Сейчас из коробки доступны веб-приложения, симуляторы iOS и эмуляторы Android.

Как работают тесты e2e

Точные проверки и действия агента в одном сценарии

Детерминированные шаги выполняются по заранее заданным локаторам и условиям. Например, тест проверяет, что элемент с ролью status содержит нужный текст. Если следующий шаг проще описать целью, можно поручить его агенту через agent.act(), а результат проверить через agent.assert().

Такой подход позволяет оставить строгие проверки там, где важны конкретные значения, и использовать естественный язык для действий, которые сложно надёжно описать последовательностью кликов. Тесты без шагов агента не требуют обращения к языковой модели.

Повторный запуск без повторных обращений к модели

После успешного агентского шага e2e сохраняет последовательность действий. При следующих запусках она воспроизводится без вызовов модели, пока приложение не изменится. Это помогает не тратить запросы модели заново на неизменившиеся экраны; если интерфейс или поведение приложения поменялись, шаг может потребовать нового выполнения агентом.

Веб и мобильные приложения в одном проекте

Браузерные проверки

Пакет @e2e-dev/web запускает тесты в Chromium, Firefox и WebKit через Playwright. Для проверки остаются доступны обычные элементы тестового набора: локаторы, точные утверждения и собственная логика на TypeScript.

Тесты iOS и Android

Пакет @e2e-dev/mobile управляет симуляторами iOS и эмуляторами Android через agent-device. Веб- и мобильные сценарии можно описывать общим программным интерфейсом и хранить в одном тестовом проекте.

Выбор модели и среды запуска

Подключение подходящего ИИ

e2e не привязывает тесты к одному поставщику моделей. На сайте проекта указана поддержка моделей из AI SDK, подключения через Vercel AI Gateway или OpenRouter, прямого API-ключа и локального сервера. Также можно авторизоваться с подпиской ChatGPT, GitHub Copilot или SuperGrok. Доступные модели и ограничения зависят от выбранного провайдера.

Локальный запуск и CI

Чтобы начать, выполните npx e2e init. Мастер предложит выбрать браузерный или мобильный движок и поставщика модели, затем подготовит конфигурацию и пример теста. Проверки можно запускать локально или включить в CI; пакет @e2e-dev/github умеет публиковать результаты тестов комментарием к pull request.

Фреймворк позволяет подменить и другие части тестовой среды: использовать своего агента или расширить исполнительный движок. Это подходит командам, которым важно выбрать собственную модель, инфраструктуру и правила поведения тестового агента.

Лицензия, телеметрия и состояние проекта

Исходный код e2e распространяется по лицензии Apache 2.0. CLI отправляет анонимные сведения об использовании — например, какие команды и движки запускались и где завершился сбой. Содержимое тестов и приложения, а также учётные данные в эту телеметрию не входят. Отключить её можно командой npx e2e telemetry disable или переменной E2E_TELEMETRY_DISABLED=1.

Проект активно развивается и пока не достиг версии 1.0; авторы предупреждают, что API и конфигурация могут меняться между минорными версиями. Для постоянного CI-процесса стоит закрепить проверенную версию зависимости и повторно проверять конфигурацию после обновления.

Исходный код, список пакетов и пример теста доступны в репозитории e2e на GitHub. Инструкции по первому запуску опубликованы в официальной документации.