Echolot
Руководства

Переход с Postman

Импортируйте коллекцию Postman и её окружения, узнайте, что чему соответствует, запустите её и экспортируйте обратно в Postman.

Echolot читает коллекции и окружения Postman как есть, вместе со скриптами. В этом руководстве вы импортируете коллекцию, посмотрите, куда попала каждая её часть, запустите её и экспортируете рабочее пространство обратно в Postman.

  • Время: 15 минут.
  • Вам понадобится: коллекция Postman (v2.0 или v2.1) и её окружения, экспортированные в JSON. Нет под рукой коллекции? Сделайте её из Alpenglow на шаге 1.
  • Вы узнаете: про импорт, соответствие частей, доверие к импортированным скриптам, запуск коллекции с импортом и без него, а также про экспорт.

1. Получите коллекцию

В Postman: откройте меню ⋯ коллекции, выберите Export и оставьте Collection v2.1. Каждое окружение экспортируйте так же из его собственного меню.

Чтобы потренироваться на Alpenglow:

  1. Откройте рабочее пространство Alpenglow и выберите Файл › Экспортировать рабочее пространство… (⇧⌘E).
  2. Выберите Postman Collection v2.1. В её строке сказано, что подходят 21 из 29 запросов: в коллекциях Postman нет запросов WebSocket, Socket.IO, MQTT, gRPC и MCP, поэтому они остаются.
  3. Оставьте включённым Включить окружения (3) и выберите Экспортировать…. С окружениями экспорт — это папка файлов: назовите её и нажмите Экспорт.

В папке лежат Alpenglow.postman_collection.json и по одному .postman_environment.json на каждое окружение. В отчёте перечислено, что Не вошло и что Изменено при экспорте: проверки Echolot стали скриптами pm.test(), захваты из ответов не экспортируются, а секретные переменные уходят только по имени, без значений.

2. Импортируйте её

  1. Создайте новое рабочее пространство: Файл › Новое рабочее пространство… (⌥⌘N) с именем From Postman.

  2. Выберите Файл › Импортировать… (⇧⌘I). Выделите файл коллекции и файлы окружений вместе и нажмите Импортировать.

    Можно также перетащить файлы на окно или скопировать JSON коллекции и вставить его в боковую панель (⌘V).

  3. Отчёт Импортировано: … перечисляет каждый файл с его форматом (Postman collection v2.1, Postman environment) и тем, что вошло. Заметки сообщают, что не удалось импортировать как было.

Для экспорта Alpenglow в заметках сказано, что 19 тестовых скриптов импортированы и будут выполняться, когда вы им доверитесь, и что 2 секретных значения сохранены в Связку ключей, а не в файлы рабочего пространства: демо-пароль и секрет клиента OAuth, которые были введены в коллекцию. Теперь запросы ссылаются на них как на {{password}} и {{orders_with_oauth_2_clientSecret}}. Нажмите Показать в боковой панели.

3. Освойтесь

В PostmanВ Echolot
CollectionПапка с именем коллекции. Её переменные, авторизация и скрипты находятся в Настройки папки…
FolderПапка с описанием в Документация и собственными переменными, авторизацией и скриптами
RequestЗапрос, сохранённый отдельным файлом. Сырые тела сохраняют свой тип; urlencoded становится URL-encoded, form-data — Multipart; тело GraphQL становится запросом GraphQL
EnvironmentОкружение на странице «Окружения» (⌥⌘E). Значения типа secret попадают в Связку ключей
Collection variablesПеременные папки коллекции. Они действуют на все запросы в ней и главнее переменных окружения
Pre-request Script, TestsСкрипты Перед запросом и Тесты на вкладке Скрипты у запроса, папки или рабочего пространства
pm.*Тот же API: pm.test, pm.expect, pm.response, pm.request, pm.environment, pm.variables, pm.collectionVariables, pm.globals, pm.iterationData, pm.sendRequest, pm.cookies, pm.setNextRequest, pm.visualizer, а также старые postman.* и tests[…]
require()lodash, ajv, tv4, crypto-js, uuid, atob и btoa
AuthТе же типы: Basic, Digest, Bearer-токен, API-ключ, OAuth 1.0, OAuth 2.0 (с расширенными настройками: токен в адресе, URL обновления, дополнительные параметры), AWS Signature, JWT Bearer, Hawk, Akamai EdgeGrid, NTLM. ASAP (Atlassian) становится JWT Bearer с теми же настройками. Учётные данные клиента и пароля OAuth 2.0 остаются как есть; implicit становится кодом авторизации с PKCE, о чём сообщает отчёт об импорте
{{$guid}}, {{$timestamp}}, {{$randomInt}}, {{$randomFirstName}} и другие значения $random…Динамические значения с теми же именами, включая тестовые данные, и многие другие
Collection Runner, NewmanПрогон и echolot run
Mock serversМоки на вашем Mac: маршруты с примерами и тестовыми данными или спецификация OpenAPI
MonitorsСценарии по расписанию или echolot run в CI

Тела-файлы и поля-файлы form-data не импортируются, поскольку файл лежит на другом компьютере: отчёт называет каждое из них, чтобы вы могли выбрать файл заново на вкладке Тело.

4. Доверьтесь скриптам

Скрипты могут делать всё, что может скрипт, поэтому импортированные не выполняются, пока вы не скажете.

  1. Откройте запрос с тестовым скриптом, например Catalog › List products, и его вкладку Скрипты. Баннер сообщает Эти скрипты пришли не из Echolot.
  2. Прочитайте скрипт и нажмите Доверять скриптам. Если сначала отправить запрос, Echolot спросит, а Доверять и отправить доверяет и сразу отправляет.
  3. Отправьте. Результаты pm.test() скрипта появятся на вкладке Тесты ответа в разделе Скрипты.

Скрипты работают в собственной песочнице JavaScript Echolot, а не в Node. См. скрипты и тесты и API скриптов.

5. Запустите её

  1. Выберите импортированное окружение в заголовке страницы, например Staging, или Без окружения для демо-API Alpenglow.
  2. Щёлкните папку коллекции правой кнопкой и выберите Запустить папку. Прогон выполняет каждый запрос вместе со скриптами и проверками.

Инструмент командной строки запускает коллекцию без импорта, как Newman. Скрипты там выполняются без вопросов:

echolot run Alpenglow.postman_collection.json --folder catalog --reporter console --reporter junit --out results.xml

--env-file принимает файл окружения Postman, --folder — имя папки строчными буквами через дефис (catalog, agent-tools), а --data users.csv запускает один раз на каждую строку. Секретные значения берутся из переменных окружения ECHOLOT_SECRET_<NAME>.

6. Что работает по-другому

  • Всё — файлы. Рабочее пространство — это папка файлов TOML, по одному на запрос, готовая для Git. Нет аккаунта и службы синхронизации; команды обмениваются через Git. См. Git и команды.
  • Сохранение автоматическое. Нет ⌘S; внизу боковой панели написано Всё сохранено.
  • Секреты никогда не попадают в файлы. Значение секретной переменной живёт в Связке ключей на этом Mac; в файле лежит только её имя.
  • Проверки без кода. Вкладка Тесты проверяет статус, заголовки, значения JSON, время, JSON Schema или спецификацию OpenAPI без скрипта. См. скрипты и тесты.
  • Захваты без кода. Вместо pm.environment.set("token", …) в тестовом скрипте наведите указатель на значение в ответе и выберите Сохранить в переменную…. См. Цепочка запросов.
  • Не только HTTP. В том же рабочем пространстве живут запросы WebSocket, Socket.IO, MQTT, gRPC и MCP, спецификации, моки и сценарии.

7. Экспортируйте обратно в Postman

  1. Выберите Файл › Экспортировать рабочее пространство… или щёлкните папку правой кнопкой и выберите Экспортировать папку….
  2. Выберите Postman Collection v2.1. Лист сообщает, сколько запросов подходит; WebSocket и другие виды сеансов остаются. Insomnia v5 переносит также WebSocket, Socket.IO и gRPC, а Коллекция Bruno записывает папку файлов .bru.
  3. Выберите, Включить окружения ли, затем Экспортировать….

Учётные данные, введённые в поля авторизации или заголовков, записываются открытым текстом, и отчёт сообщает, сколько их: сначала перенесите их в секретные переменные. Секретные переменные уходят по имени, без значений. См. экспорт.

Дальше

На этой странице