Postman CLI, Newman

Newman/Postman CLI – використовуються для запуску колекцій з терміналу, без UI інтерфейсу.

Для того щоб краще зрозуміти який використовувати розберемо основні переваги і порівняємо їх.

Що таке Postman CLI? Postman CLI тепер постачається як окремий інструмент, який можна встановити. Вам більше не потрібно встановлювати Node.js і, після цього, пакет npm newman. Але справа не тільки в цьому. Postman CLI не замінює Newman, оскільки він працює дещо по-іншому, а команди інші. Перш за все, Postman CLI представляє концепцію сеансів. Ви логуєтесь в систему на початку робочого сеансу й отримуєте доступ до всіх колекцій Postman (та інших ресурсів) у своєму обліковому записі. Postman CLI також має вбудовану можливість завантажувати будь-які запуски колекції безпосередньо у вашій робочій області Postman.

lЗ іншого боку, Newman — команд лайн раннер для Postman. Дозволяє запускати колекції Postman у headless режимі (без UI частини) без необхідності програми Postman. Newman створено на основі API Postman і забезпечує спосіб запускати ваші колекції в середовищі безперервної інтеграції (CI) або як частину вашої системи автоматизації тестування.

Плюси використання Postman CLI

Повна інтеграція з Postman: Postman CLI — це команд лайн раннер, який легко інтегрується з програмою Postman. Це дозволяє користувачам легко імпортувати колекції, середовища та інші ресурси з програми Postman у CLI для тестування та автоматизації. Він забезпечує єдиний робочий процес для розробників і тестувальників, які вже знайомі з додатком Postman.

Спільна робота: Postman CLI дозволяє кільком членам команди співпрацювати над проектами тестування та автоматизації API. Це дозволяє командам легко обмінюватися колекціями, середовищами та сценаріями тестування, полегшуючи спільну роботу та підтримуючи узгодженість у різних середовищах тестування. Потужні можливості тестування сценаріїв: Postman CLI забезпечує потужне середовище сценаріїв, яке дозволяє користувачам писати складні тестові сценарії за допомогою JavaScript. Він підтримує широкий спектр тверджень і надає доступ до широкого спектру змінних і функцій, що полегшує написання комплексних і надійних сценаріїв тестування.

Розширені можливості репортів: Postman CLI пропонує широкі можливості звітування, що дозволяє користувачам створювати детальні звіти про результати тестування. Ці звіти можуть містити таку інформацію, як тривалість виконання тесту, охоплення тесту та статус тесту пройдено/не пройдено. Це полегшує відстеження прогресу тестування API та виявлення будь-яких проблем або вузьких місць.

Інтеграція з іншими інструментами: Postman CLI можна легко інтегрувати з іншими інструментами та фреймворками, такими як пайплайни CI/CD і системи керування тестами. Це дозволяє користувачам автоматизувати виконання тестів API як частину процесів розробки та деплою, забезпечуючи ретельне тестування API перед релізом у проді.

Мінуси використання Postman CLI

Більший поріг входу: хоча Postman CLI пропонує потужні можливості, вона також має більший поріг входу. Користувачі повинні добре розуміти JavaScript і середовище сценаріїв Postman, щоб повною мірою використовувати його функції. Це може бути проблемою для користувачів, які тільки починають тестувати API або не мають досвіду створення сценаріїв.

Обмежені офлайн-можливості: для імпорту колекцій і середовищ із програми Postman CLI потрібне активне підключення до Інтернету. Це може бути обмеженням у ситуаціях, коли доступ до Інтернету обмежений або ненадійний. У таких сценаріях користувачам може знадобитися використовувати альтернативні методи або інструменти для перенесення колекцій і середовищ до CLI.

Відсутність графічного інтерфейсу: на відміну від програми Postman, яка забезпечує зручний графічний інтерфейс, Postman CLI є інструментом командного рядка, який працює повністю через командний рядок. Це може зробити його менш інтуїтивно зрозумілим і складнішим у використанні для користувачів, які зручніше користуються графічним інтерфейсом.

Обмежена підтримка тестування на основі даних: Postman CLI не надає вбудованої підтримки для тестування на основі даних. Хоча можна реалізувати тестування на основі даних за допомогою JavaScript, для цього потрібні додаткові сценарії та налаштування. Це може бути недоліком для користувачів, які сильно покладаються на тестування на основі даних у своїх робочих процесах тестування API.

Залежність від програми Postman: CLI Postman покладається на програму Postman для імпорту колекцій, середовищ та інших ресурсів. Це означає, що будь-які зміни або оновлення, внесені в програму Postman, потрібно вручну синхронізувати з CLI. Це може призвести до потенційних проблем із синхронізацією та ускладнити підтримку CLI в актуальному стані з останніми змінами в проекті тестування API.

Плюси використання Newman:

Легка інтеграція: Newman можна легко інтегрувати у ваші пайплайни CI/CD, дозволяючи вам автоматизувати процес тестування API. Ви можете запустити Newman як частину процесу збирання або запланувати його виконання через певні проміжки часу.

Інтерфейс CLI: Newman надає інтерфейс командного рядка (CLI), який дозволяє вам виконувати ваші колекції Postman без використання програми Postman. Це робить його легким і ефективним інструментом для виконання ваших тестів API.

Можливості автоматизації: Newman можна легко інтегрувати з іншими інструментами та фреймворками, такими як Jenkins або Travis CI, дозволяючи вам автоматизувати тестування API та включити його в існуючі робочі процеси. Це може заощадити ваш час і зусилля, усуваючи потребу в ручному тестуванні.

Репорти тестування: Newman надає докладні звіти про тестування в різних форматах, включаючи JSON і HTML, що дозволяє вам легко аналізувати та ділитися результатами ваших тестів API. Ці звіти можуть бути корисними для відстеження прогресу ваших тестів і виявлення будь-яких проблем або збоїв.

Гнучкість: Newman підтримує широкий спектр опцій і параметрів командного рядка, що дозволяє вам налаштовувати та налаштовувати тести API відповідно до ваших конкретних вимог. Ця гнучкість робить його придатним як для простих, так і для складних сценаріїв тестування.

Мінуси використання Newman:

Поріг входу: Хоча Newman відносно простий у використанні, він вимагає певного знайомства з інтерфейсом командного рядка (CLI) та основними концепціями сценаріїв. Якщо ви новачок у інструментах командного рядка, вам може знадобитися час, щоб розпочати роботу з Newman.

Обмежена функціональність GUI: на відміну від програми Postman, Newman не надає графічного інтерфейсу користувача (GUI) для створення та редагування колекцій. Вам потрібно буде використовувати програму Postman або імпортувати колекції, створені іншими членами команди, для використання з Newman.

Залежність від колекцій Postman: Newman покладається на колекції Postman для виконання тестів API. Якщо ви ще не використовуєте Postman або не створювали колекцій, вам потрібно буде витратити час на створення та впорядкування ваших колекцій, перш ніж ви зможете використовувати Newman.

Обмежені можливості налагодження: хоча Newman надає докладні звіти про тестування, він може не запропонувати такий самий рівень можливостей налагодження, як програма Postman. Якщо ви зіткнулися з проблемами чи помилками під час тестування API, усунення несправностей може потребувати додаткових зусиль.

Postman CLI приклади команд

запуск колекцій з Postman CLI

postman collection run ця команда запускає збір і надсилає всі результати запуску та відповіді на сервери Postman. Ви можете вказати колекцію за допомогою її шляху до файлу або ID колекції.

postman collection run /myCollectionFolderName/myCollectionFile.json

postman collection run 12345678-12345ab-1234-1ab2-1ab2-ab1234112a12

параметри можна знайти в документації

https://learning.postman.com/docs/postman-cli/postman-cli-options

Також доступний запуск колекцій через UI інтерфейс Postman – інструкція описана в документації https://learning.postman.com/docs/postman-cli/postman-cli-run-collection/

результат виконання з Postman CLI

Запуск колекції з newman

Для запуску колекції запитів потрібно спочатку ексопртнути колекцію і потім запустити за допомогою newman

newman run examples/sample-collection.json

результат в консолі