HttpRunner (hrp) — универсальный фреймворк для автоматизации тестирования
HttpRunner (команда hrp) — это открытый инструмент для API- и UI-тестирования, который начинался как средство для проверки HTTP-интерфейсов, а к версии v5 превратился в платформу для интеллектуальной автоматизации с поддержкой больших языковых моделей (LLM). Позволяет писать сценарии на естественном языке, тестировать мобильные приложения (Android/iOS/Harmony) и браузеры, а также проводить нагрузочное тестирование.
⚠️ Важно: HttpRunner v5 — это только Golang-версия. Python-версия выделена в отдельный репозиторий httprunner/httprunner.py.
Установка
Самый простой способ — скачать готовый бинарник для вашей платформы (macOS/Linux/Windows) со страницы релизов. Также можно собрать из исходников или установить через Go:
go install github.com/httprunner/httprunner/v5/cmd/hrp@latest
После установки проверьте, что hrp доступен:
hrp -v
Быстрый старт
HttpRunner принимает тесты в форматах GoTest, YAML, JSON или plain text (с LLM-драйверами). Основная команда для запуска — hrp run:
hrp run testcase.yaml
Создать новый проект с заготовкой структуры можно командой:
hrp startproject my_project
Основные возможности
- UI-автоматизация: Android, iOS, Harmony, браузеры — чисто визуальный подход (OCR/CV/VLM) без привязки к DOM или accessibility id.
- API-тестирование: HTTP(S)/HTTP2/WebSocket/RPC — единый интерфейс для синхронных и асинхронных запросов.
- Нагрузочное тестирование: запуск API-тестов с
boomer для генерации одновременных запросов.
- Natural language driven: сценарии можно описывать на естественном языке, LLM сам преобразует в команды.
- Плагины: можно подключать собственные функции на выбранном языке.
- CI/CD: генерирует JSON-логи и HTML-отчёты, легко интегрируется в пайплайны.
- Утилиты для работы с устройствами:
hrp adb — управление Android, hrp ios — iOS.
- MCP-сервер:
hrp mcp-server запускает API для интеграции с другими инструментами по протоколу MCP.
- Доработка автотестов в диалоговом режиме:
hrp mcphost — чат-сессия с LLM-агентами для написания/доработки тестов.
Конфигурация и окружение
Все настройки передаются через флаги или переменные окружения. Основные флаги hrp:
--log-json — вывод логов в JSON (по умолчанию цветной консольный)
-l, --log-level — уровень логирования (по умолчанию INFO)
--venv — указать путь к Python3 virtualenv (для плагинов)
Подробную справку по каждой команде даёт hrp [command] --help.
Пример тест-кейса (YAML)
config:
name: "Проверка главной страницы"
base_url: "https://example.com"
test:
name: "GET / возвращает 200"
request:
url: "/"
method: GET
validate:
- eq: ["status_code", 200]
Запуск:
hrp run example.yaml
Пользовательские сценарии
Компании, использующие HttpRunner в продакшене:
Полезные ссылки
Лицензия
Проект распространяется под лицензией Apache-2.0. Copyright © 2017–2024 debugtalk.
Комментарии
Комментариев пока нет. Будьте первым.