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

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

Интерфейс 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 доступны следующие сочетания клавиш:

Сочетание Действие
Ctrl+S (Cmd+S на Mac) Сохранить данные, если на текущей странице есть поддерживаемое действие «Сохранить»
Ctrl+Enter (Cmd+Enter) Протестировать мок или отправить запрос, если действие доступно
Ctrl+K (Cmd+K) Открыть быстрый поиск
Ctrl+Shift+/ (Cmd+Shift+/) Показать справку по горячим клавишам
Escape Закрыть быстрый поиск или справку по сочетаниям клавиш; остальные панели обрабатывают Escape самостоятельно

Примечание: Сочетания с Ctrl/Cmd работают даже когда курсор находится в текстовом поле. Остальные сочетания отключаются при вводе текста, чтобы не мешать.


Быстрый поиск

Нажмите Ctrl+K (Cmd+K), чтобы открыть быстрый поиск. Он находит:

  • Моки по имени или маршруту в текущем пространстве
  • Тест-кейсы и тест-планы в текущем пространстве
  • Страницы интерфейса администратора и доступные команды плагинов

Введите минимум 2 символа для отображения результатов. Используйте стрелки вверх/вниз для навигации и Enter для выбора.
Недавно открытые элементы видны при пустой строке поиска только в текущей вкладке и пространстве. Они очищаются при смене пространства, перезагрузке или закрытии вкладки.


Конструктор: умный автокомплит

Конструктор моков имеет систему умного автодополнения, которая подсказывает выражения интерполяции, Faker-функции, заголовки и ссылки на хранилища. Она работает в нескольких контекстах:

Поля тела ответа

При редактировании значений тела ответа автокомплит предлагает:

  • JsonPath-префиксы — $.req, $.reqHeader, $.queryParams, $.pathParam, $.fake, $.gS, $.cS, $.mS. Доступные префиксы зависят от протокола мока (например, HTTP-моки имеют $.queryParams и $.pathParam, а gRPC — нет).
  • Функции Faker — введите $.fake., чтобы просмотреть 74 встроенные функции по категориям (адреса, дата и время, интернет, люди, платежи, идентификаторы и хеши, текст, бизнес, телефоны, русские данные, общие функции). У каждой есть пример значения. Плагины могут добавлять новые функции.
  • Математические функции — $.increment(...), $.sum(a, b), $.multiply(a, b), $.subtract(a, b), $.divide(a, b), $.modulo(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), подстановку скобок и сворачивание кода.

Откройте Сниппеты для готового примера или визуальный Билдер, чтобы собрать запросы, переменные и проверки из блоков. Выбранные сниппеты остаются выбранными при поиске. Билдер сохраняет написанные вручную условия, а для нагрузочного скрипта — setup, teardown и настройки. Ручной модуль отображается как блок кода, поэтому редактирование соседних блоков не удаляет его. Ошибки в именах переменных и строках этапов показываются до замены текста редактора.

Тест, сохранённый в коллекции, запускается с её переменными. Проверяйте результаты assertions: отсутствие исключения при выполнении скрипта ещё не означает, что проверки прошли. Пропущенные проверки показываются отдельно. pm.execution.skipRequest() пропускает текущий запрос и его скрипты ответа, но не останавливает коллекцию. Для остановки последовательности используйте pm.execution.setNextRequest(null).


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 (полный контроль, включая настройки шаринга и удаление).

Чтобы открыть коллекцию из другого пространства, выберите пространство-получатель в API Tester. Пользователь с ролью Viewer может просматривать, запускать и экспортировать запросы; Editor также может менять коллекцию и её запросы. Владельцем коллекции остаётся исходное пространство.


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

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

  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).
  • Скачивание шаблонов как файлов.
  • Шаблоны привязаны к пространству имён — каждое пространство имён имеет свою библиотеку шаблонов.

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


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