how use command line integration with newman postman
Lær at udføre postbudssamlinger ved hjælp af Newman:
I denne vejledning vil vi se, hvordan vi kan integrere eller udføre Postman-samlinger via kommandolinjen ved hjælp af Newman, som er et kommandolinjeintegrationsværktøj til Postman.
Newman er et gratis og open source-værktøj. Det giver kraftige funktioner til at køre Postman-samlingerne, udnytte supernyttige funktioner i Postman som test, påstande, forudgående anmodning-scripts osv. Og kører samlingen gennem kommandolinjen.
=> Tjek her for at se AZ af postbudstræningsvejledninger her.
Hvad du lærer:
Hvad er Newman?
Newman er en kommandolinjeløber til Postman-samlinger. Med andre ord tillader det en bruger at køre en eksisterende Postman-samling gennem kommandolinjen.
Det forventer eller forbruger JSON-versionen af samlingen, der kan opnås ved simpelthen at eksportere samlingen i JSON-samlingsformat eller URL'en til samlingen, som kun er den samme JSON, som samlingen eksporterer.
Her er en videotutorial:
Installation af Newman
Newman er et NodeJS-modul og er derfor afhængig af, at systemet har en node installeret. For at kontrollere, om noden er installeret eller ej, skal du blot kontrollere nodeversionen på systemet ved hjælp af kommandoen nedenfor.
$ node -v v10.15.3
Hvis kommandoen returnerer noget output som ovenfor, betyder det, at noden er installeret, og vi er gode til at gå med Newman-installationen. Hvis ikke, kan du installere node ved at henvise til installationsinstruktionerne her
Når nodeinstallationen er vellykket, kan du simpelthen installere Newman som enhver anden nodepakke ved hjælp af kommandoen nedenfor.
npm install -g newman
Her angiver '-g' global installation, hvilket betyder, at Newman-pakken vil være tilgængelig fra enhver mappe / placering på filsystemet. For at udføre en lokal installation kan du fjerne '-g' flag fra ovenstående, hvor Newman-pakken kun er tilgængelig fra den installerede placering eller mappe.
For at validere den vellykkede installation af Newman kan du blot kontrollere dens version ved hjælp af nedenstående kommando.
newman -v 4.5.1
Kører samlinger ved hjælp af Newman
Hvis du vil køre samlinger ved hjælp af Newman, skal du have en af de to.
- Samlingen i JSON-format.
- URL til den hostede samling.
Kommandoen, der bruges til at køre Postman-samlingen ved hjælp af Newman, er:
bedste spion app til mobiltelefon
newman run {{collectionJsonPath}} OR newman run {{collectionUrl}}
Lad os prøve at køre en prøveindsamling ved hjælp af Postman.
- Gå til Postman-applikationen, brug enhver eksisterende Postman-samling, og eksporter den til JSON-form. (Vi opretter en ny samling med 3 anmodninger, dvs. Register User, Login User og Get User ved hjælp af API-slutpunkter-formularen her ).
- Eksporter nu samlingen til JSON-format.
- Når samlingen JSON er opnået, skal du åbne en kommandoprompt og køre samlingen ved hjælp af kommandoen Newman run (antag, at samlingen blev eksporteret med navn - Postman_Newman_IntegrationCollection .json) og brugeren har browset til samlingens eksportmappe, så kan samlingen udføres blot ved hjælp af nedenstående kommando.
newman run Postman_Newman_IntegrationCollection.json
Når ovenstående kommando er kørt, produceres følgende output.
Newman-integration med miljøvariabler
Lad os nu se mere avancerede anvendelser af Newman. For en samling, der ikke er afhængig af miljøvariabler, kunne samlingen simpelthen udføres ved hjælp af kommandoen Newman run. Men for samlinger, der bruger miljøvariablerne, skal vi også levere miljøvariablen JSON sammen med samlingen JSON.
Eksempel: Vi bruger den samme samling og bruger en miljøvariabel til GET User-slutpunkt, dvs. til anmodning med slutpunkt .
Vi bruger userId fra miljøvariabelsamlingen. Så den resulterende anmodning bliver https://reqres.in/api/users/{{userId}}
Når miljøfilen er oprettet, skal du eksportere den som en JSON ved hjælp af nedenstående trin.
- Opret et miljø med en variabel med navnet userId, og værdien skal sættes til '4'.
- Klik nu på knappen Indstillinger for at åbne vinduet 'Administrer miljøer'.
- Klik på ikonet 'Download' mod det oprettede miljø for at downloade miljøet som en JSON-fil (gem filen med navnet som 'testEnv.json).
Lad os eksportere samlingen igen med den ændrede anmodning, og prøv at køre den samme samling sammen med miljøfilen med kommandoen som nedenfor:
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json
Når ovenstående kommando er udført, forbliver output den samme som den direkte indsamlingskørsel, hvor den eneste ændring er 'GET User' -anmodningen, der nu henter værdien fra JSON-filens miljø.
Påstandsresultater ved hjælp af Newman
Da postbudspørgsmålene også kan indeholde påstande, gennemgår vi nu, hvordan påstandsresultaterne vises, når postbudsamlingerne udføres gennem en Newman.
Newman-samlingsløberen er i fuldstændig paritet med Postman Collection-løberen og Request-eksekutøren. For anmodninger med påstande evalueres påstandene, når og når anmodningens udførelse er afsluttet, og resuméet af påstandsudførelsen vises i testoversigten i slutningen af testkørslen.
Til ovenstående samling tilføjede vi en påstand om indsamlingsniveau for at kontrollere statuskoden for svaret til at være 200, dvs. for hver anmodning, der er en del af samlingen, skal denne påstand være tilknyttet.
Så hvis denne samling havde 3 anmodninger, betyder det, at der i alt skulle være 3 påstande, der skulle have været udført.
Se nedenstående skærmbillede for fremhævede udførelsesresultater og påstandsresultater.
Rapportgenerering ved hjælp af Newman
Indtil videre ved vi, at Newman kan køre Postman-samlinger gennem kommandolinjen og generere nogle testlogfiler og testudførelsesoversigt. Men hvad med de formaterede rapporter, der kunne deles eller offentliggøres på en eller anden server?
Newman har også støtte til dette. Der er nogle brugerdefinerede nodemoduler tilgængelige til generering af Newman-testudførelsesrapporter. Vi vil gennemgå et eksempel ved hjælp af en newman-html-reporter .
Denne reporter er igen et nodemodul og skal installeres separat ved hjælp af nedenstående kommando.
npm install -g newman-reporter-html
Når ovenstående modul er installeret, kan dette bruges sammen med Newman run-kommandoen.
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json -r html
Flagget '-r' angiver den reporter, der skal bruges med Newman-samlingskørslen.
Med denne mulighed bruger den Newman-reporter-html-modulet eller pakkerne og opretter en HTML-baseret rapport til testudførelsen.
Se et sådant screenshot af HTML-rapporten vist nedenfor:
Integration med CI-værktøjer
Da Newman har kapaciteter til at køre som en kommandolinje, reducerer det meget afhængighed af alle forudsætninger i form af en konsol eller et program, dvs. den eneste afhængighed, som Newman har, er en node (som generelt er tilgængelig som en udførelse miljø i alle CI-maskiner som Jenkins slaver eller Travis noder).
Dette gør det muligt for Postman-samlinger at blive udført som en del af build-rørledningerne selv gennem Newman-kommandolinjen.
Da Newman også har mulighed for at skubbe resultater i Html-format, er dette virkelig nyttigt og praktisk, og under selve pipeline-udførelsen kunne HTML-resultaterne skubbes til en server eller kan sendes via en e-mail til de ønskede brugere osv. kapaciteter er uendelige, da afhængighederne er minimale.
For et detaljeret eksekveringseksempel på integration til Jenkins henvises til dette eksempel fra Postmans officielle blog her .
Flere muligheder med Newman
Uanset hvad vi har dækket, er en delmængde af den funktionalitet, der leveres af Newman. For komplette detaljer om kommandoer og switche, som Newman understøtter, skal du blot åbne kommandolinjehjælp til Newman ved hjælp af nedenstående kommando.
newman run -h
Her er output fra ovenstående kommando med detaljer om alle switches og deres betydning.
Der er også andre informationsressourcer til Newman API-reference. Se venligst her til den officielle dokumentation.
Konklusion
I denne vejledning gik vi gennem kommandolinieintegrationen af Postman kaldet Newman, som gør det muligt at køre Postman-samlinger via en kommandolinjegrænseflade.
Det er simpelthen en node-pakke, og enhver kommandolinje, der har node installeret sammen med Newman, skal kunne køre Postman-samlingen og generere flotte rapporter om samlingens udførelse.
Kommandolinieintegration er også til stor hjælp til integration af Postman-baserede indsamlingstest med CI-værktøjer som Jenkins, Travis osv., Da kørsel gennem kommandolinjen ikke har nogen afhængighed af operativsystem eller applikation, og det har bare brug for node-miljø for at køre kollektion.
=> Besøg her for den eksklusive undervisningsserie om postbudstræning.
Anbefalet læsning
- Klip kommando i Unix med eksempler
- Unix Cat Command Syntax, indstillinger med eksempler
- Ls Command i Unix med eksempler
- Hvordan & hvornår skal man anvende manuskripter til præforespørgsel og postanmodning?
- Grep Command i Unix med enkle eksempler
- Kommandolinjeargumenter i C ++
- Unix sorteringskommando med syntaks, indstillinger og eksempler
- Kommandolinjeargumenter i Unix Shell Script med eksempel