Полезные функции и советы
Интерфейс Mockarty содержит множество функций для повышения продуктивности, которые не всегда очевидны с первого взгляда. На этой странице описаны скрытые возможности, которые помогут вам работать быстрее.
Содержание
- URL-адреса в примерах документации
- Горячие клавиши
- Быстрый поиск
- Конструктор: умный автокомплит
- Конструктор: подсказки на основе запроса
- Конструктор: информационные подсказки
- Конструктор: предпросмотр URL
- Конструктор: автогенерация Mock ID
- Конструктор: валидация формы
- API Tester: окружения и переменные
- API Tester: пре-реквест и тест-скрипты
- API Tester: импорт и экспорт
- API Tester: шаринг коллекций
- Рекордер: сохранённые конфигурации
- Рекордер: Map Local
- Рекордер: AI-анализ
- Шаблоны: переиспользуемые тела ответов
URL-адреса в примерах документации
Во всей документации примеры используют localhost:5770 как адрес Mockarty. Это значение по умолчанию для локальной разработки. Замените его на реальный адрес вашего экземпляра Mockarty при работе с удалённым сервером:
| Развёртывание | Базовый URL |
|---|---|
| Локальный бинарник | http://localhost:5770 |
| Docker (на той же машине) | http://localhost:5770 |
| Удалённый сервер | http://192.168.1.50:5770 или http://mockarty.internal:5770 |
| Корпоративный с DNS | https://mockarty.company.com |
| Kubernetes | https://mockarty.k8s.company.com |
| Демо-среда | https://demo.mockarty.ru |
Для серверных функций (Рекордер, Фаззер, Нагрузочное тестирование) см. подробное объяснение в Быстрый старт.
Горячие клавиши
Mockarty поддерживает глобальные горячие клавиши, которые работают на каждой странице:
| Сочетание | Действие |
|---|---|
| Ctrl+S (Cmd+S на Mac) | Сохранить текущий мок или форму |
| Ctrl+Enter (Cmd+Enter) | Протестировать мок или отправить запрос в API Tester |
| Ctrl+K (Cmd+K) | Открыть быстрый поиск |
| Ctrl+Shift+/ (Cmd+Shift+/) | Показать справку по горячим клавишам |
| Escape | Закрыть текущее модальное окно или выпадающий список |
Примечание: Сочетания с Ctrl/Cmd работают даже когда курсор находится в текстовом поле. Остальные сочетания отключаются при вводе текста, чтобы не мешать.
Быстрый поиск
Нажмите Ctrl+K (Cmd+K) для открытия быстрого поиска. Он позволяет мгновенно найти и перейти к:
- Мокам по имени или маршруту
- Коллекциям API Tester
- Страницам документации
Введите минимум 2 символа для отображения результатов. Используйте стрелки вверх/вниз для навигации и Enter для выбора.
Конструктор: умный автокомплит
Конструктор моков имеет систему умного автодополнения, которая подсказывает выражения интерполяции, Faker-функции, заголовки и ссылки на хранилища. Она работает в нескольких контекстах:
Поля тела ответа
При редактировании значений тела ответа автокомплит предлагает:
- JsonPath-префиксы —
$.req,$.reqHeader,$.queryParams,$.pathParam,$.fake,$.gS,$.cS,$.mS. Доступные префиксы зависят от протокола мока (например, HTTP-моки имеют$.queryParamsи$.pathParam, а gRPC — нет). - Faker-функции — введите
$.fake.и увидите полный каталог из 50+ функций, сгруппированных по категориям (Адрес, Дата/Время, Интернет, Персона, Платёж, ID и Хэши, Общие). Для каждой функции показан пример значения. - Математические функции —
$.increment(...),$.sum(a, b),$.multiply(a, b),$.subtract(a, b). - Ссылки на хранилища —
$.gS.key(Global Store),$.cS.key(Chain Store),$.mS.key(Mock Store) с подсказками часто используемых ключей.
Как активировать
- Кликните или сфокусируйтесь на поле значения тела ответа — автокомплит появится автоматически.
- Начните вводить
$.— увидите подсказки префиксов. - В редакторе CodeMirror (режим полного JSON тела ответа) нажмите Ctrl+Space для вызова автокомплита.
- Используйте стрелки вверх/вниз для навигации, Enter для выбора, Escape для закрытия.
Поля условий
При редактировании полей условий (body conditions) автокомплит подсказывает пути к полям тела запроса. При редактировании условий заголовков — имена распространённых HTTP-заголовков (Content-Type, Authorization, Accept, X-Request-Id и др.).
Поля вебхуков
При редактировании шаблонов вебхуков автокомплит подсказывает пути $.response.* для ссылки на данные ответа самого мока.
Конструктор: подсказки на основе запроса
Система автодополнения становится умнее, когда вы предоставляете пример запроса (Example Request) в конструкторе:
- В конструкторе заполните поле Example Request образцом JSON-тела, которое ваш мок ожидает получить.
- После этого при редактировании полей тела ответа или условий автокомплит будет предлагать имена полей, извлечённые из вашего примера — с иерархической навигацией через точку для вложенных объектов.
Например, если ваш пример запроса:
{
"user": {
"name": "John",
"email": "john@example.com"
},
"orderId": 123
}
Автокомплит предложит $.req.user, $.req.user.name, $.req.user.email, $.req.orderId — чтобы вы могли строить динамические ответы, ссылающиеся на входящий запрос, без запоминания путей к полям.
Совет: Если пример запроса не указан, автокомплит предлагает распространённые имена полей (id, name, email, status и т.д.).
Конструктор: информационные подсказки
По всей форме конструктора вы увидите маленькие кнопки с иконкой информации (ⓘ) рядом с метками полей. Кликните или наведите на них, чтобы увидеть подсказку: что делает поле, какой формат ожидается и практические примеры.
Подсказки доступны для: Протокола, Mock ID, Маршрута, Префикса пути, gRPC-сервиса/метода, Кода ответа, Задержки, Заголовков, Условий, Экстракторов, Вебхуков и других полей.
Конструктор: предпросмотр URL
При заполнении полей Маршрут (Route) и Префикс пути (Path Prefix) в конструкторе под полем маршрута автоматически обновляется предпросмотр полного URL, который клиенты будут использовать для вызова мока, включая префикс пространства имён /stubs/{namespace}/....
Конструктор: автогенерация Mock ID
Если вы оставите поле Mock ID пустым, Mockarty автоматически сгенерирует уникальный ID при сохранении мока. Вы также можете нажать кнопку со звёздочкой (✦) рядом с полем Mock ID для автогенерации читаемого идентификатора на основе маршрута и метода.
Конструктор: валидация формы
Конструктор валидирует ваши данные в реальном времени:
- Маршрут должен начинаться с
/и не содержать пробелов. - Код статуса должен быть от 100 до 599.
- Задержка должна быть неотрицательной и не более 300 000 мс (5 минут).
Ошибки валидации отображаются как красные рамки и сообщения непосредственно под полем. Ошибки исчезают автоматически при исправлении значения.
API Tester: окружения и переменные
API Tester имеет полноценную систему переменных окружения, аналогичную Postman:
Создание окружений
- Откройте API Tester из боковой панели.
- Нажмите на выпадающий список Environment в верхней панели.
- Нажмите иконку шестерёнки для открытия менеджера окружений.
- Создайте новое окружение (например, “Development”, “Staging”, “Production”).
- Добавьте пары ключ-значение (например,
base_url=http://localhost:5770,api_token=mk_your_token).
Использование переменных в запросах
Ссылайтесь на переменные окружения в любом поле с помощью двойных фигурных скобок:
{{base_url}}/api/v1/mocks
Переменные интерполируются в: URL, заголовках, параметрах запроса, теле запроса и полях аутентификации. Это работает для всех протоколов (HTTP, gRPC, GraphQL, SOAP, Kafka, RabbitMQ, WebSocket, SSE, MCP, SMTP).
Переключение окружений
Выберите другое окружение из выпадающего списка — все ссылки {{переменная}} в ваших запросах мгновенно начнут использовать значения нового окружения. Это позволяет быстро переключаться между dev/staging/production без редактирования каждого запроса.
API Tester: пре-реквест и тест-скрипты
Каждый запрос в API Tester может иметь два скрипта:
Пре-реквест скрипт
JavaScript-код, выполняемый до отправки запроса. Используйте для установки динамических заголовков, вычисления подписей или подготовки тестовых данных.
Тест-скрипт (пост-ответ)
JavaScript-код, выполняемый после получения ответа. Используйте для проверки статуса ответа, валидации полей тела или извлечения значений для последующих запросов.
Postman-совместимый API
Редактор скриптов поддерживает Postman-совместимый API pm.*:
// Переменные окружения
pm.environment.get("key") // Прочитать переменную
pm.environment.set("key", "v") // Записать переменную
pm.environment.has("key") // Проверить существование
// Переменные коллекции
pm.collectionVariables.get("key")
pm.collectionVariables.set("key", "value")
// Информация о запросе
pm.request.url // URL запроса
pm.request.method // HTTP-метод
pm.request.headers // Объект заголовков
pm.request.body // Тело запроса
// Проверки ответа (только в тест-скриптах)
pm.response.code // Код статуса (число)
pm.response.json() // Распарсить ответ как JSON
pm.response.text() // Ответ как текст
pm.response.to.have.status(200) // Проверить статус
pm.response.to.have.header("name") // Проверить наличие заголовка
// Тестовые утверждения
pm.test("Status is 200", function() {
pm.expect(pm.response.code).to.equal(200);
});
Редактор скриптов имеет подсветку синтаксиса, автодополнение для методов pm.* (нажмите Ctrl+Space), подстановку скобок и сворачивание кода.
API Tester: импорт и экспорт
API Tester поддерживает импорт и экспорт коллекций в различных форматах:
Импорт
| Формат | Описание |
|---|---|
| Postman Collection (v2.1) | Импорт существующих коллекций Postman. Переменные ({{var}}) конвертируются автоматически. |
| OpenAPI / Swagger | Генерация HTTP-запросов из спецификации OpenAPI (по URL или файлу). |
| HAR-файл | Импорт записанного трафика из Chrome DevTools или других инструментов. |
| SoapUI Project | Импорт тестовых проектов SoapUI для SOAP-тестирования. |
| WSDL | Генерация SOAP-запросов из определения WSDL. |
| cURL | Вставьте одну или несколько cURL-команд. Протокол (HTTP, GraphQL, SOAP) определяется автоматически. Несколько команд группируются по протоколам в отдельные коллекции. |
Экспорт
| Формат | Описание |
|---|---|
| Mockarty native | Полный экспорт коллекции со всеми метаданными и скриптами. |
| Postman Collection (v2.1) | Экспорт в формат, совместимый с Postman. |
API Tester: шаринг коллекций
Коллекции можно делить с другими пользователями:
| Видимость | Кто видит |
|---|---|
| Personal | Только вы |
| Namespace | Все в том же пространстве имён |
| Public | Все на данном экземпляре Mockarty |
Внутри общих коллекций пользователи могут иметь роли: Viewer (только чтение), Editor (может редактировать запросы), Owner (полный контроль, включая настройки шаринга и удаление).
Рекордер: сохранённые конфигурации
Если вы часто записываете трафик от одного и того же сервиса, сохраните конфигурацию сессии для быстрого переиспользования:
- После настройки сессии записи (целевой URL, фильтры, токсики, модификации) нажмите Save Config вместо немедленного запуска.
- Назовите конфиг (например, “Stripe Dev”, “Internal API Staging”).
- В следующий раз нажмите New Session и выберите сохранённый конфиг из списка — все поля будут заполнены автоматически.
Конфиги можно экспортировать в JSON-файлы и импортировать на другом экземпляре Mockarty. Это полезно для распространения стандартных настроек записи внутри команды.
Лимит: 10 сохранённых конфигураций на пользователя.
Рекордер: Map Local
Map Local позволяет комбинировать реальные ответы сервера с ответами Mockarty-моков в рамках одной сессии записи:
- При запуске сессии записи включите Map Local и укажите пространство имён.
- Рекордер проверяет наличие подходящего мока перед отправкой запроса на upstream.
- Если мок найден (по маршруту и HTTP-методу), его ответ возвращается локально — без сетевого вызова.
- Если мок не найден, запрос идёт к реальному серверу как обычно.
- Оба типа записей отображаются в сессии (записи от моков помечены
mapLocal: true).
Сценарии использования:
- Заглушка нестабильного endpoint во время тестирования остальной интеграции.
- Инъекция специфических ошибочных ответов для тестирования граничных случаев.
- Постепенная замена реальных вызовов на моки.
Рекордер: AI-анализ
Если настроен провайдер LLM (Настройки > AI), рекордер предлагает AI-анализ:
- Анализ трафика — обобщение паттернов трафика, выявление аномалий, предложения по оптимизации.
- Анализ безопасности — сканирование записанного трафика на потенциальные проблемы безопасности.
- Генерация тестовых сценариев — генерация тестовых сценариев на основе паттернов записанного трафика.
Эти функции доступны через кнопки AI в представлении сессии записи.
Шаблоны: переиспользуемые тела ответов
Страница Templates (боковая панель) позволяет сохранять, искать и переиспользовать часто используемые шаблоны тел ответов:
- Загрузка шаблонов в форматах JSON, YAML, XML или HTML.
- Поиск по шаблонам с мгновенной фильтрацией.
- Фильтрация по типу (JSON, YAML, XML, HTML).
- Скачивание шаблонов как файлов.
- Шаблоны привязаны к пространству имён — каждое пространство имён имеет свою библиотеку шаблонов.
При создании мока в Конструкторе вы можете сослаться на сохранённый шаблон вместо написания тела ответа с нуля.
Смотрите также
- Быстрый старт — Запуск Mockarty за минуты
- Руководство по веб-интерфейсу — Полный обзор интерфейса
- Справочник Faker-функций — Все доступные Faker-функции
- Руководство по JsonPath — Динамическая интерполяция ответов
- Системы хранилищ — Управление состоянием между моками
- Справочник API — Документация REST API