
Автоматизированный фаззер REST API и инструмент негативного тестирования для конечных точек OpenAPI. Генерирует, запускает и сообщает о тысячах самовосстанавливающихся тестов без усилий по написанию кода, охватывая граничные сценарии и сценарии безопасности.
Документация CATS доступна по адресу https://endava.github.io/cats/
Фаззер REST API и инструмент для негативного тестирования. Запускайте тысячи самовосстанавливающихся API-тестов за считанные минуты без написания кода!
Мало времени? Ознакомьтесь с 1-минутным кратким руководством!
Используя простой и минималистичный синтаксис с пологой кривой обучения, CATS (Contract API Testing and Security) позволяет вам генерировать тысячи API-тестов за считанные минуты без написания кода. Все тесты генерируются, запускаются и формируются в отчёты автоматически на основе предопределённого набора из 100+ фаззеров. Фаззеры охватывают широкий спектр сценариев граничного тестирования и негативных сценариев — от полностью случайных больших значений Unicode до тщательно продуманных, зависящих от контекста значений, основанных на типах данных и ограничениях запроса. Более того, вы можете использовать тот факт, что CATS динамически генерирует полезные нагрузки запросов, и писать простые сквозные функциональные тесты.
Это список статей с пошаговыми инструкциями по использованию CATS:
> brew tap endava/tap
> brew install cats
CATS поставляется как в виде исполняемого JAR-файла, так и в виде нативного бинарного файла. Для нативных бинарных файлов Java не требуется.
После загрузки нативного бинарного файла для вашей ОС вы можете добавить его в PATH, чтобы запускать как любую другую программу командной строки:
sudo cp cats /usr/local/bin/cats
Вы также можете включить автодополнение, загрузив скрипт cats_autocomplete и выполнив:
source cats_autocomplete
Чтобы сделать автодополнение постоянным, добавьте указанную выше строку в .zshrc или .bashrc, но обязательно укажите полный путь к скрипту cats_autocomplete.
Вы также можете проверить исходный код cats_autocomplete для альтернативной настройки.
Нативного бинарного файла для Windows нет, но вы можете использовать uberjar-версию. Для этого требуется установленная Java 25+.
Запускайте её командой java -jar cats.jar.
Перейдите на страницу релизов, чтобы загрузить последнюю версию: https://github.com/Endava/cats/releases.
Вы можете собрать CATS из исходников на своём компьютере. Вам понадобится Java 25. Maven уже встроен.
Перед первой сборкой убедитесь, что вы выполнили
./mvnw clean. CATS использует форк OKHttp, который будет установлен локально под версией5.X.X-CATS, так что не беспокойтесь о переопределении официальных версий.
Вы можете использовать следующую команду Maven для сборки проекта в виде uberjar:
./mvnw package -Dquarkus.package.type=uber-jar
В результате в папке target появится файл cats-runner.jar. Запустить его можно командой java -jar cats-runner.jar ....
Также можно собирать нативные образы, используя версию Java GraalVM.
./mvnw package -Pnative
Вы можете увидеть некоторые сообщения error в логах во время выполнения модульных тестов. Это ожидаемое поведение для тестирования негативных сценариев фаззеров.
Пожалуйста, обратитесь к CONTRIBUTING.md.