
Witajcie moi drodzy, w kolejnym wpisie.
Dziś na tapetę weźmiemy narzędzie o nazwie Newman.
Owe narzędzie to taki ‘uruchamiacz'(runner), testów z Postmana w wierszu poleceń. Ale właściwie po co to, skoro w Postmanie możemy odpalać testy? Głównym zastosowaniem jakie widać, na pierwszy rzut oka jest po prostu spięcie z CI, czyli integracją np. z Jenkinsem.
Zainstalujemy i się przekonamy co potrafi Newman.
Instalacja ‘programu’
Aby zainstalować Newmana, w moim przypadku pod Windowsem potrzebujemy node.js. Jako, że już omawiałem jak to zrobić to odsyłam do wpisu, w którym łopatologicznie to przedstawiłem.
https://gregkaqa.pl/index.php/2020/01/13/automatyzacjapuppeteer01-zapoznanie-sie-z-narzedziem-puppeteer-pobieranie-konfiguracja-prosty-test/
Jeśli już posiadacie node.js i po odpaleniu wiersza poleceń i wpisaniu npm lub npm –version będziecie mieli coś takiego, jak na zrzucie umieszczonym niżej, znaczy, że node.js jest poprawnie instalowany.

Wydajemy polecenie ‘npm install newman’ i cierpliwie czekamy na zakończenie instalacji.




Można też w każdej chwili użyć komendy npm install -g newman.
Parametr -g w node sprawia, że instalacja jest globalna, coś ala dodanie zmiennych środowiskowych.

Takie ułatwienie, że wystarczy newman bez npm newman 🙂
Czas na przykłady
Po pierwsze musimy posiadać ‘kolekcje’, jest to pliczek json.
Możemy go na podstawie innych np. z netu przygotować samemu, lub też ‘wyeksprotować’ z Postmana, ja spróbuje pokazać mix wariantów.

Pobrałem sobie przykłady z linku tutaj:
https://github.com/postmanlabs/newman/archive/develop.zip

Możecie użyć git clone lub pobrać zip, tak jak ja to zrobiłem i wypakować sam folder examples.
https://github.com/postmanlabs/newman
Podstawowa komenda na początek do newman run plik.json
Możemy też ‘ćwiczyć’ to bez pobierania posiadając odpowiedni adres url.
newman run https://raw.githubusercontent.com/postmanlabs/newman/develop/examples/sample-collection.json

W githubie mając otwarty dany plik .json klikamy na row i dopiero ten adres odpalamy, za pomocą komendy powyżej obrazka.
Możemy sobie co nieco poprzerabiać w jsonie.

Różne style ‘raportowania’, domyślnie użyty jest styl CLI, czyli ten widoczny wyżej, elegancka tabelka.
Możemy też użyć innych np. json raport, process, junit czy emotki.
Wystarczy newman run sample-collection.json -r emojitrain
lub -r progress -r junit -r json -r cli(domyślna).

Tutaj przykład innych parametrów np. opcja -k wyłącza weryfikacje ssl, dla niezaufanych ‘źródeł’, opcja -n określa ilość powtórzeń testów naszego .jsona.
A teraz jeszcze zróbmy tak, żeby test zakończył się porażką.

Ja zmieniłem kod, na inny niż taki, który wiem że działa czyli prosta podmianka 200 na 401.

No sami powiecie trochę luksus, jedno polecenie fajne czytelne raporty, przyczyna faila, proste i przyjemne narzędzie.
Dziękujemy postmanowi, za stworzenie takiego wypasa.
Postman kontra newman

Posiadając kolekcję wystarczy ją wyeksportować, najlepiej użyć rekomendacji czyli v.2.1

Jenkins vs newman
Spróbujmy teraz odpalić testy w jenkinsie 🙂
Jeśli chcecie spróbować tego kroku to wpis na temat instalacji oraz konfiguracji Jenkinsa, znajdziecie w linku poniżej:
https://gregkaqa.pl/index.php/2019/12/29/administracjajenkins01-jenkins-na-windowsie-pobranie-instalacja-omowienie-ogolnikowe/
Jeśli już mamy dostęp do Jenkinsa, czyli tak jak przedstawiłem na obrazie niżej, możemy utworzyć zadanie.

Posłużymy się wtyczką node.js do Jenkinsa.
http://localhost:7070/pluginManager/

Tak wyszukujemy wtyczkę i instalujemy wtyczkę o nazwie NodeJS, zaznaczamy klikamy instaluj bez restartu.

Teraz należy ‘doinstalować’ nasz moduł newmana i analogiczne z wtyczką nodejs możemy teoretycznie wszystko z nodejsa zainstalować i wykonywać jenkinsem i to kiedyś sprawdzimy na różnych przykładach 🙂
http://localhost:7070/configureTools/
Przechodzimy na wskazany adres w naszym Jenkinsie.
Po instalacji przechodzimy do tworzenia nowego projektu.
http://localhost:7070/view/all/newJob

No i zaraz skonfigurujemy tego Newmana.

O tyle fajnie, że sobie możemy kilka wersji nodejs poustawiać, czasami może przydać się np. niższa wersja.Zapisujemy i przechodzimy do tworzenia projektu.

Nadajemy nazwę naszego joba(zadania), wybieramy pierwszą opcją ogólny projekt(freestyle project). Klikamy ok.

Wybieramy uruchom powłokę/execute shell jeśli używamy Linuxa.
Jeśli używamy windowsa to Execute Windwos batch command. Co w sumie jest logiczne.



Klikamy uruchom i czekamy na wykonanie zadania.

Jak widać budowanie udane. Bo jest na niebiesko, zamiast na czerwono.
Klikamy w ten auto numer u mnie jest to #4 i będziemy zaraz elegancko widzieć szczegóły.

Lekko kodowanie mu się posypało, ale to na początek nie przeszkadza.
Podsumowanie
Newman to idealne uzupełnienie Postmana. Fajnie pracuje na Windowsie i jakoś bez problemów radzi sobie w Jenkinsie. Warto się zainteresować tym narzędziem, bo jest super i nie ma co gadać! 😀
Kolejne wpisy będą na pewno Newman część druga, bardziej konkretne przykłady, odpalanie tym razem w Dockerze.
I na pewno insertującym jest odpalanie różnych narzędzi z node.js właśnie w Jenkinsie.
A tym czasem ten wpis dobiegł końca. Mam nadzieje, że był przydatny, także do następnego strzałeczka, cześć!!!
W jenkinsie wystarczyło dać flagę –disable-unicode i powinno wyglądać jak w czarnym okienku 😉