Uruchamianie kolekcji w Postmanie za pomocą wiersza poleceń – Newman i Postman CLI

Instrukcja krok po kroku opisująca jak uruchomić kolekcje w Postmanie używając do tego wiersza poleceń – zarówno z pomocą Newmana, jak i Postman CLI.

W dzisiejszym dynamicznym świecie programowania, skuteczne testowanie API staje się nieodzownym elementem procesu deweloperskiego. Postman, będący jednym z najpopularniejszych narzędzi do testowania API, oferuje nie tylko intuicyjne środowisko graficzne, ale także umożliwia automatyzację za pomocą wiersza poleceń. W niniejszym artykule przyjrzymy się krok po kroku, jak uruchamiać kolekcje w Postmanie przy użyciu Newmana i Postman CLI. Automatyzacja tego procesu nie tylko usprawnia i przyspiesza testowanie API, ale również pozwala na łatwą integrację z systemami CI/CD.

Testowa kolekcja

Do celów testowych, przygotowałem sobie bardzo prostą kolekcję w Postmanie, korzystając z fake’owego API JSONPlaceholder. Kolekcja ta składa się z czterech zapytań:

  • Request GET odpytujący cały zasób /users
  • GET odpytujący konkretnego użytkownika z zasobu /users
  • POST, który tworzy nowego użytkownika w powyższym zasobie
  • DELETE, który usuwa tego użytkownika

Tak wygląda uruchomienie całej kolekcji w Postmanie:

Newman

Newman to narzędzie do uruchamiania kolekcji w Postmanie za pomocą wiersza poleceń. Spróbujmy za jego pomocą uruchomić kolekcję, którą przygotowaliśmy w poprzednim akapicie.

Do pracy z Newmanem potrzebny jest Node.js w wersji 16 lub nowszej. Aby sprawdzić którą wersję Node posiadasz, otwórz wiersz poleceń i wpisz:

ShellScript
node -v

Wynikiem tego polecenia powinna być zwrócona wersja Node.js, tak jak poniżej:

Następnie, ponownie w wierszu poleceń za pomocą npm zainstaluj Newmana:

ShellScript
npm install -g newman

Kolejny krok to eksport kolekcji w Postmanie. Można to zrobić, klikając „Eksport” w menu kontekstowym naszej kolekcji:

Następnie przejdź do folderu gdzie znajduje się wygenerowany przed chwilą JSON i uruchom kolekcję za pomocą Newmana, wpisując komendę newman run i nazwę pliku:

ShellScript
newman run sample_postman_collection.json

W konsoli zobaczymy efekt jak poniżej:

Tym samym uruchomiliśmy naszą kolekcję za pomocą wiersza poleceń. Co nam to daje? Możliwość automatycznego uruchamiana testów, także z pomocą CI – Gitlaba, Jenkinsa i innych. Dodatkowo, testy wykonywane w ten sposób nie liczą się do limitu manualnego uruchamiania kolekcji wprowadzonego przez Postmana w jego darmowej wersji.

Postman CLI

Postman daje nam do dyspozycji drugie narzędzie, które umożliwia odpalanie kolekcji z testami z poziomu wiersza poleceń – jest to Postman CLI.

Najpierw należy zainstalować Postman CLI – w tym celu wklej do wiersza poleceń odpowiednią komendę instalacyjną. Lista komend pod konkretne systemy operacyjne znajduje się w dokumentacji Postmana. W przypadku Windows będzie to komenda:

ShellScript
powershell.exe -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://dl-cli.pstmn.io/install/win64.ps1'))"

Postman CLI wymaga zalogowania się do Postmana za pomocą klucza API. Tutaj znajduje się opisowa instrukcja pokazująca, jak wygenerować taki klucz. Logujemy się używając poniższej komendy:

ShellScript
postman login --with-api-key TWOJ-KLUCZ-API

Następnie uruchamiamy test kolekcji (tej samej, co w przypadku Newmana):

ShellScript
postman collection run sample_postman_collection.json

Wynikiem powyższego zapytania powinien być test zakończony sukcesem:

Istnieje drugi sposób na uruchomienie testu kolekcji z poziomu wiersza poleceń, ale bez jej eksportowania. Umożliwia to aplikacja Postmana, która dodaje opcję „Automate runs via CLI” do listy sposobów uruchomienia kolekcji. Po jej kliknięciu, Postman zwraca nam gotową komendę, którą możemy przekleić do wiersza poleceń i w ten sposób uruchomić test.

Podobał Ci się ten artykuł?

Jeśli chciałbyś przeczytać takich więcej, zachęcamy do polubienia naszych profili w mediach społecznościowych. Zero spamu, sam konkret!

Dodaj komentarz