Всем привет!

Хочу поделиться практическим кейсом: как быстро запускать свои тесты из Postman, не только целые коллекции, но и отдельные папки внутри коллекций.

Если надоело открывать Postman и вручную запускать каждую коллекцию или проверять эндпоинты по очереди, то решение есть — Newman, терминальный раннер от команды Postman. Newman имеет ряд преимуществ:

  • Работает офлайн — не требует подключения к интернету или входа в аккаунт Postman.

  • Полная независимость от Postman Cloud — можно использовать в изолированных средах и корпоративных сетях.

  • Гибкие отчёты — поддержка форматов CLI, HTML, JSON, JUnit, что удобно для интеграции с CI/CD и аналитикой.

  • Интеграция с любыми системами CI/CD (Jenkins, GitLab, GitHub Actions и др.).

  • Работает с локальными файлами и API Postman — можно запускать как экспортированные коллекции, так и коллекции по URL.

  • Универсальность — подходит для Windows, macOS и Linux.

  • Отлично подходит для локальной отладки — быстро запускает тесты прямо из терминала.

В этом кейсе покажу путь от экспорта коллекций до автоматического прогона тестов через Newman CLI.


Что понадобится

  1. Установка Node.js и Newman
    Перед установкой Newman нужно убедиться, что у вас установлен Node.js — среда выполнения JavaScript, на которой работает Newman.

  2. Скачайте Node.js LTS с официального сайта.

  3. После установки откройте терминал и проверьте:

    node --version
    npm --version
  4. Аккаунт в Postman и API Key (чтобы выгружать коллекции/окружения через Postman API).


Как получить API Key в Postman

  1. Открой Postman Web или Desktop.

  2. Перейди в Settings → API Keys.

  3. Нажми Generate API Key, введи имя и скопируй ключ.

Важно: не храните ключ в публичных репозиториях. В CI используйте секреты (GitHub Secrets, GitLab CI variables и т.п.).

Установка Newman

В терминале проверь, что Node.js и npm установлены. Если нет, то нужно скачать по ссылке https://nodejs.org/en/download и установить. Также можно ознакомиться с первоисточником https://github.com/postmanlabs/newman?tab=readme-ov-file#getting-started.

node -v
npm -v

Установи Newman:

npm install -g newman 

Проверь установку:

newman -v

Как запустить коллекцию

Вариант 1. Запуск по локальному файлу

  1. В Postman выберите нужную коллекцию → Export.

  2. Сохраните файл (например, MyCollection.json) в удобную папку.

  3. В терминале перейдите в директорию с этим файлом.

  4. Выполните:

    newman run MyCollection.json

    Если в названии файла есть пробелы — заключите его в кавычки:

    newman run "My Collection.json"

Newman выполнит все запросы коллекции и выведет результат по каждому тесту.

Пример терминального отчета
Пример терминального отчета

Вариант 2. Запуск коллекции по API из Postman

Если вы хотите всегда запускать актуальную версию коллекции, можно использовать Postman API.

  1. Получите API Key:

  2. Скопируйте ID коллекции:

    • откройте коллекцию → Info → Collection ID.

  3. Сформируйте ссылку:

    https://api.postman.com/collections/<Collection_ID>?apikey=<Your_API_Key>
  4. Выполните команду:

    newman run "https://api.postman.com/collections/<Collection_ID>?apikey=<Your_API_Key>"

Newman загрузит коллекцию прямо с сервера Postman и выполнит её.
Этот способ особенно удобен, если вы часто обновляете коллекции и хотите всегда запускать их последнюю версию.

Как запустить несколько коллекций подряд с детализированным HTML-отчётом

Если нужно запустить несколько Postman-коллекций и получить красивые, наглядные отчёты — можно использовать пакет newman-reporter-htmlextra. Подробнее можно почитать здесь - https://www.npmjs.com/package/newman-reporter-htmlextra

Установка пакета

Перед запуском установите дополнительный репортёр глобально:

npm install -g newman-reporter-htmlextra

Пример Bash-скрипта

Создайте файл run_all.sh в папке с коллекциями:

#!/bin/bash

# Список коллекций
collections=(
  "Collection1.json"
  "Collection2.json"
  "Collection3.json"
  "Collection4.json"
  "Collection5.json"
)

# Укажите окружение (если нужно)
environment="env.json"

# Создадим папку для отчётов
mkdir -p reports

# Запускаем коллекции по очереди
for col in "${collections[@]}"
do
  echo "🚀 Запуск коллекции: $col"
  newman run "$col" -e "$environment" \
    -r cli,htmlextra \
    --reporter-htmlextra-export "reports/${col}_report.html" \
    --reporter-htmlextra-title "Отчёт по ${col}" \
    --reporter-htmlextra-browserTitle "Newman Test Report"

  echo "Коллекция $col завершена"
  echo "-----------------------------------"
done

Сделайте скрипт исполняемым и запустите:

chmod +x run_all.sh
./run_all.sh

После выполнения:

  • Все коллекции будут автоматически прогнаны по очереди.

  • В папке reports появятся отдельные HTML-файлы, например:

    reports/Collection1.json_report.html
    reports/Collection2.json_report.html
    ...
  • Каждый отчёт можно открыть в браузере: он включает детальную статистику по тестам, статусам и времени выполнения.

Итог

Использование Postman + Newman позволяет автоматизировать процесс ручного запуска тестов.

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