Документация Полезные функции и советы

Полезные функции и советы

Интерфейс Mockarty содержит множество функций для повышения продуктивности, которые не всегда очевидны с первого взгляда. На этой странице описаны скрытые возможности, которые помогут вам работать быстрее.


Содержание

  1. URL-адреса в примерах документации
  2. Горячие клавиши
  3. Быстрый поиск
  4. Конструктор: умный автокомплит
  5. Конструктор: подсказки на основе запроса
  6. Конструктор: информационные подсказки
  7. Конструктор: предпросмотр URL
  8. Конструктор: автогенерация Mock ID
  9. Конструктор: валидация формы
  10. API Tester: окружения и переменные
  11. API Tester: пре-реквест и тест-скрипты
  12. API Tester: импорт и экспорт
  13. API Tester: шаринг коллекций
  14. Рекордер: сохранённые конфигурации
  15. Рекордер: Map Local
  16. Рекордер: AI-анализ
  17. Шаблоны: переиспользуемые тела ответов

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) в конструкторе:

  1. В конструкторе заполните поле Example Request образцом JSON-тела, которое ваш мок ожидает получить.
  2. После этого при редактировании полей тела ответа или условий автокомплит будет предлагать имена полей, извлечённые из вашего примера — с иерархической навигацией через точку для вложенных объектов.

Например, если ваш пример запроса:

{
  "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:

Создание окружений

  1. Откройте API Tester из боковой панели.
  2. Нажмите на выпадающий список Environment в верхней панели.
  3. Нажмите иконку шестерёнки для открытия менеджера окружений.
  4. Создайте новое окружение (например, “Development”, “Staging”, “Production”).
  5. Добавьте пары ключ-значение (например, 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 (полный контроль, включая настройки шаринга и удаление).


Рекордер: сохранённые конфигурации

Если вы часто записываете трафик от одного и того же сервиса, сохраните конфигурацию сессии для быстрого переиспользования:

  1. После настройки сессии записи (целевой URL, фильтры, токсики, модификации) нажмите Save Config вместо немедленного запуска.
  2. Назовите конфиг (например, “Stripe Dev”, “Internal API Staging”).
  3. В следующий раз нажмите New Session и выберите сохранённый конфиг из списка — все поля будут заполнены автоматически.

Конфиги можно экспортировать в JSON-файлы и импортировать на другом экземпляре Mockarty. Это полезно для распространения стандартных настроек записи внутри команды.

Лимит: 10 сохранённых конфигураций на пользователя.


Рекордер: Map Local

Map Local позволяет комбинировать реальные ответы сервера с ответами Mockarty-моков в рамках одной сессии записи:

  1. При запуске сессии записи включите Map Local и укажите пространство имён.
  2. Рекордер проверяет наличие подходящего мока перед отправкой запроса на upstream.
  3. Если мок найден (по маршруту и HTTP-методу), его ответ возвращается локально — без сетевого вызова.
  4. Если мок не найден, запрос идёт к реальному серверу как обычно.
  5. Оба типа записей отображаются в сессии (записи от моков помечены mapLocal: true).

Сценарии использования:

  • Заглушка нестабильного endpoint во время тестирования остальной интеграции.
  • Инъекция специфических ошибочных ответов для тестирования граничных случаев.
  • Постепенная замена реальных вызовов на моки.

Рекордер: AI-анализ

Если настроен провайдер LLM (Настройки > AI), рекордер предлагает AI-анализ:

  • Анализ трафика — обобщение паттернов трафика, выявление аномалий, предложения по оптимизации.
  • Анализ безопасности — сканирование записанного трафика на потенциальные проблемы безопасности.
  • Генерация тестовых сценариев — генерация тестовых сценариев на основе паттернов записанного трафика.

Эти функции доступны через кнопки AI в представлении сессии записи.


Шаблоны: переиспользуемые тела ответов

Страница Templates (боковая панель) позволяет сохранять, искать и переиспользовать часто используемые шаблоны тел ответов:

  • Загрузка шаблонов в форматах JSON, YAML, XML или HTML.
  • Поиск по шаблонам с мгновенной фильтрацией.
  • Фильтрация по типу (JSON, YAML, XML, HTML).
  • Скачивание шаблонов как файлов.
  • Шаблоны привязаны к пространству имён — каждое пространство имён имеет свою библиотеку шаблонов.

При создании мока в Конструкторе вы можете сослаться на сохранённый шаблон вместо написания тела ответа с нуля.


Смотрите также