how use command line integration with newman postman
Lär dig att utföra brevbärarsamlingar med Newman:
I den här handledningen kommer vi att se hur vi kan integrera eller utföra Postman-samlingar via kommandoraden med Newman, som är ett kommandoradsintegreringsverktyg för Postman.
Newman är ett gratis verktyg med öppen källkod. Det ger kraftfulla funktioner för att köra Postman-samlingar, utnyttja supernyttiga funktioner för Postman som tester, påståenden, skript för förbeställning, etc och kör samlingen genom kommandoraden.
=> Kolla här för att se A-Z av brevbilsutbildningar här.
Vad du kommer att lära dig:
Vad är Newman?
Newman är en kommandoradslöpare för Postman-samlingar. Med andra ord tillåter det en användare att köra en befintlig Postman-samling genom kommandoraden.
Den förväntar sig eller förbrukar JSON-versionen av samlingen som kan erhållas genom att helt enkelt exportera samlingen i JSON-samlingsformat eller webbadressen till samlingen som inte är samma JSON som samlaren exporterar.
Här är en videohandledning:
Installerar Newman
Newman är en NodeJS-modul och är därför beroende av att systemet har en nod installerad. För att kontrollera om noden är installerad eller inte, helt enkelt kontrollera nodversionen på systemet med kommandot nedan.
$ node -v v10.15.3
Om kommandot returnerar en del output som ovan, betyder det att noden är installerad och att vi är klara med Newman-installationen. Om inte, kan du installera nod genom att hänvisa till installationsinstruktionerna här
När nodinstallationen har lyckats kan du helt enkelt installera Newman som alla andra nodpaket med kommandot nedan.
npm install -g newman
Här anger '-g' global installation vilket innebär att Newman-paketet kommer att vara tillgängligt från vilken mapp / plats som helst i filsystemet. För att göra en lokal installation kan du ta bort ”-g” -flaggan från ovan, där Newman-paketet endast är tillgängligt från den installerade platsen eller mappen.
För att validera den lyckade installationen av Newman kan du helt enkelt kontrollera dess version med kommandot nedan.
newman -v 4.5.1
Köra samlingar med Newman
För att köra samlingar med Newman bör du ha någon av de två.
- Samlingen i JSON-format.
- URL för den värdsamlingen.
Kommandot som används för att köra Postman-samlingen med Newman är:
char nummer till int c ++
newman run {{collectionJsonPath}} OR newman run {{collectionUrl}}
Låt oss försöka köra en provsamling med Postman.
- Gå till Postman-applikationen, använd någon befintlig Postman-samling och exportera den till JSON-formuläret. (Vi skapar en ny samling med tre förfrågningar, dvs Registrera användare, Inloggningsanvändare och Skaffa användare med hjälp av API-slutpunkter här ).
- Exportera nu samlingen till JSON-format.
- När samlingen JSON har erhållits öppnar du en kommandotolk och kör samlingen med Newman-körkommandot (antar att samlingen exporterades med namn - Postman_Newman_IntegrationCollection .json) och användaren har bläddrat till samlingsexportkatalogen, sedan kan samlingen köras helt enkelt med hjälp av kommandot nedan.
newman run Postman_Newman_IntegrationCollection.json
När ovanstående kommando har körts produceras följande utdata.
Newman-integration med miljövariabler
Låt oss nu se mer avancerade användningar av Newman. För en samling som inte är beroende av några miljövariabler kan samlingen enkelt köras med Newman-körkommandot. Men för samlingar som använder miljövariablerna måste vi tillhandahålla miljövariabeln JSON också tillsammans med samlingen JSON.
Exempel: Vi kommer att använda samma samling och använda en miljövariabel för GET User-slutpunkt, dvs. för förfrågan med slutpunkt .
Vi använder userId från samlingen av miljövariabler. Så den resulterande begäran blir https://reqres.in/api/users/{{userId}}
När miljöfilen har skapats exporterar du den nu som en JSON med hjälp av nedanstående steg.
- Skapa en miljö med en variabel som heter userId och värdet ska ställas in på '4'.
- Klicka nu på knappen Inställningar för att öppna fönstret “Hantera miljöer”.
- Klicka på ikonen 'Hämta' mot den skapade miljön för att ladda ner miljön som en JSON-fil (spara filen med namn som 'testEnv.json).
Låt oss exportera samlingen igen med den ändrade begäran och försök köra samma samling tillsammans med miljöfilen med kommandot enligt nedan:
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json
När ovanstående kommando har utförts förblir utdata densamma som den direkta insamlingskörningen, med den enda ändringen som 'GET User' -begäran hämtar nu värdet från JSON-miljöfilen.
Påståenderesultat med Newman
Eftersom Postman-förfrågningarna också kan innehålla påståenden kommer vi nu att gå igenom hur påståenderesultaten visas när Postman-samlingarna körs via en Newman.
Newman-samlingslöparen är i fullständig paritet med Postman Collection-löparen och Request-exekutören. För förfrågningar som har påståenden utvärderas påståendena när begäran utförs och sammanfattningen av påståendet utförs i testöversikten i slutet av testkörningen.
För ovanstående samling har vi lagt till ett påståend på samlingsnivå för att kontrollera statuskoden för svaret att vara 200, dvs. för varje begäran som ingår i samlingen bör detta påstående associeras.
Så om denna samling hade tre förfrågningar betyder det att det borde finnas totalt 3 påståenden som borde ha utförts.
Se nedanstående skärmdump för markerade utföringsresultat och påståenderesultat.
Rapportgenerering med Newman
Hittills vet vi att Newman kan köra Postman-samlingar via kommandoraden och generera några testloggar och testkörningsöversikt. Men hur är det med de formaterade rapporterna som kan delas eller publiceras på någon server?
Newman har också stöd för detta. Det finns några anpassade nodmoduler tillgängliga för att generera Newman-testkörningsrapporter. Vi går igenom ett exempel med hjälp av a newman-html-reporter .
Denna reporter är återigen en nodmodul och måste installeras separat med kommandot nedan.
npm install -g newman-reporter-html
När ovanstående modul har installerats kan den användas tillsammans med Newman-körkommandot.
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json -r html
Flaggan ”-r” indikerar att reportern ska användas med Newman-samlingskörningen.
Med detta alternativ använder den Newman-reporter-html-modulen eller paketen och skapar en HTML-baserad rapport för testkörningen.
Se en sådan skärmdump av HTML-rapporten som visas nedan:
Integration med CI-verktyg
Eftersom Newman har kapacitet att köras som en kommandorad, minskar det mycket beroende av alla förutsättningar i form av en konsol eller en applikation, dvs. det enda beroendet som Newman har är en nod (som i allmänhet är tillgänglig som en körning miljö i alla CI-maskiner som Jenkins slavar eller Travis noder).
Detta gör det möjligt för Postman-samlingar att köras som en del av själva byggledningarna via Newman-kommandoraden.
Eftersom Newman har förmåga att driva resultat i Html-format också, är detta verkligen användbart och praktiskt och under själva pipelinekörningen kan HTML-resultaten skickas till en server eller kan skickas via e-post till önskade användare etc. kapacitet är oändlig eftersom beroenden är minimala.
För ett detaljerat exekveringsexempel på integrering med Jenkins, se detta exempel från Postmans officiella blogg här .
Fler alternativ med Newman
Oavsett vad vi har täckt är en delmängd av den funktionalitet som tillhandahålls av Newman. För fullständig information om kommandon och växlar som Newman stöder, öppna helt enkelt kommandoradshjälpen för Newman med kommandot nedan.
newman run -h
Här är utdata från ovanstående kommando, med detaljer om alla omkopplare och deras betydelse.
Det finns även andra informationsresurser för Newman API-referens. Var god hänvisa här för den officiella dokumentationen.
Slutsats
I den här guiden gick vi igenom kommandoradsintegrationen av Postman som heter Newman, vilket gör det möjligt att köra Postman-samlingar via ett kommandoradsgränssnitt.
Det är helt enkelt ett nodpaket och alla kommandorader som har noden installerad tillsammans med Newman ska kunna köra Postman-samlingen och generera snygga rapporter om samlingsutförandet.
Kommandoradsintegration är också till stor hjälp för integrering av Postman-baserade insamlingstester med CI-verktyg som Jenkins, Travis, etc, eftersom löpning via kommandoraden inte har något beroende av operativsystem eller applikation och det behöver bara helt enkelt nodmiljö för att köra samling.
=> Besök här för den exklusiva postman-utbildningsserien.
Rekommenderad läsning
- Klipp kommandot i Unix med exempel
- Unix Cat Command Syntax, alternativ med exempel
- Ls Command i Unix med exempel
- Hur & när ska man använda Postman Pre Request och Post Request Scripts?
- Grep Command i Unix med enkla exempel
- Kommandoradsargument i C ++
- Unix Sortera kommando med syntax, alternativ och exempel
- Kommandoradsargument i Unix Shell-skript med exempel