Tapir · E2E-тесты для REST API

Автоматизация тестирования API без рутины

Загрузите Swagger-спецификацию — Tapir соберёт базовые тестовые сценарии. Правьте их в конструкторе, храните в git и запускайте через CLI, Docker или локальный интерфейс.

  • Open source ядро
  • Без обязательной регистрации
  • Язык интерфейса: EN / RU

Всё, чтобы тесты API
не превращались в хаос

Писать E2E-тесты долго и монотонно, а при каждом изменении ручки их приходится искать и править вручную. Tapir берёт это на себя.

Генерация из Swagger

Загрузите Swagger 2.0 — получите smoke-сценарий на каждую ручку, CRUD-цепочки и простые негативные кейсы (400, 404, 401).

Сценарии живут в git

Один читаемый JSON-файл рядом с кодом. Код-ревью, диффы и ручная правка — как с любым другим файлом проекта.

Актуальность при изменении API

Шаги ссылаются на ручки по operationId. Изменился Swagger — видно, что именно затронуто, и можно выбрать: обновить или пропустить.

Интерактивный конструктор

Редактируйте сгенерированные сценарии и собирайте свои: логин-фикстуры, несколько ролей, передача данных между шагами.

Расхождения со спецификацией

В отчёте — ожидаемый и реальный ответы, а отдельным разделом — всё, что не совпало со схемой Swagger.

Локальный UI и CI

tapir ui в Docker видит приватные API и сети docker-compose. CLI возвращает код выхода и JSON-отчёт — подходит для CI.

Как это работает

От документации до отчёта — четыре шага.

  1. 1

    Загрузите Swagger

    Спецификация в JSON или YAML. Tapir разберёт ручки, схемы и входные данные.

  2. 2

    Получите сценарии

    Базовые сценарии строятся автоматически — их можно сразу запускать или доработать.

  3. 3

    Отредактируйте и сохраните

    Правьте в конструкторе или прямо в JSON. Файл кладётся в git вместе с кодом.

  4. 4

    Запустите и изучите отчёт

    CLI, Docker или локальный интерфейс. В отчёте — запросы, ответы и pass/fail.

Ядро — open source

Формат сценариев, CLI, Docker-образ и локальный интерфейс открыты. Облако Tapir добавляет хранение и дополнительные возможности.

Открыть на GitHub

Тарифы

Базовый план

Для знакомства с Tapir и базового тестирования API. Подходит для небольших проектов

Бесплатно

Базовые возможности

  • Тестирование запросов
  • Создание кастомных сценариев
  • Хранение в облаке
Начать бесплатно

Плюс

Для разработчиков, которым нужно больше возможностей для автоматизации тестирования

499 руб /месяц

Базовые возможности

  • Тестирование запросов
  • Создание кастомных сценариев
  • Хранение в облаке
Начать сейчас

Частые вопросы о Tapir

Коротко о том, как устроено тестирование REST API в Tapir.

Что такое Tapir?

Tapir — инструмент автоматизации E2E-тестирования REST API. Вы загружаете Swagger-документацию, система строит базовые сценарии, вы редактируете их и запускаете через CLI, Docker или встроенный локальный веб-интерфейс.

Какие спецификации и протоколы поддерживаются?

В первой версии — REST и Swagger 2.0 в формате JSON или YAML. OpenAPI 3.x и другие протоколы (GraphQL, gRPC, WebSocket) планируются позже.

Как Tapir создаёт тесты из Swagger?

Tapir разбирает ручки и схемы спецификации и строит smoke-сценарий на каждую ручку, CRUD-цепочки и простые негативные кейсы (400, 404, 401). Тестовые данные формируются по JSON Schema: учитываются enum, format, границы значений и обязательные поля. Готовые сценарии можно редактировать.

Где хранятся сценарии тестов?

В одном читаемом JSON-файле, который лежит в git вместе с вашим кодом. Секреты в файл не попадают: в нём только ссылки на переменные окружения.

Что будет с тестами, если API изменится?

Шаги ссылаются на ручки по operationId. Когда Swagger меняется, Tapir показывает разницу и затронутые шаги, а вы решаете для каждого: обновить или пропустить.

Можно ли запускать тесты в CI?

Да. CLI не задаёт интерактивных вопросов, возвращает код выхода и сохраняет отчёт в report.json. Для запуска без установки есть Docker-образ.

Работает ли Tapir с приватными API?

Да. Локальный интерфейс tapir ui запускается в Docker и отправляет запросы из вашей сети, включая сети docker-compose, поэтому приватные API остаются доступными.

Нужна ли регистрация и сколько это стоит?

Редактор работает без обязательной регистрации. Базовый план бесплатный, тариф «Плюс» стоит 499 руб в месяц и добавляет хранение в облаке.