how use command line integration with newman postman
Lær å utføre postbudssamlinger ved hjelp av Newman:
I denne opplæringen vil vi se hvordan vi kan integrere eller utføre Postman-samlinger gjennom kommandolinjen ved hjelp av Newman, som er et kommandolinjeintegrasjonsverktøy for Postman.
Newman er et gratis verktøy med åpen kildekode. Det gir kraftige funksjoner for å kjøre Postman-samlingene, utnytte supernyttige funksjoner fra Postman som tester, påstander, forhåndsforespørselskript osv. Og kjører samlingen gjennom kommandolinjen.
=> Sjekk her for å se AZ av Postman Training Tutorials her.
Hva du vil lære:
Hva er Newman?
Newman er en kommandolinjeløper for Postman-samlinger. Med andre ord tillater det en bruker å kjøre en eksisterende Postman-samling gjennom kommandolinjen.
Den forventer eller forbruker JSON-versjonen av samlingen som kan oppnås ved å bare eksportere samlingen i JSON-samlingsformat eller URL-en til samlingen som ikke er annet enn den samme JSON som samles eksporten.
Her er en videoopplæring:
Installerer Newman
Newman er en NodeJS-modul og er derfor avhengig av at systemet har node installert. For å sjekke om noden er installert eller ikke, bare sjekk nodeversjonen på systemet ved hjelp av kommandoen nedenfor.
$ node -v v10.15.3
Hvis kommandoen returnerer noe output som ovenfor, betyr det at noden er installert, og vi er gode å gå med Newman-installasjonen. Hvis ikke, kan du installere node ved å henvise til installasjonsinstruksjonene her
Når nodeinstallasjonen er vellykket, kan du bare installere Newman som alle andre nodepakker ved å bruke kommandoen nedenfor.
npm install -g newman
Her betegner ‘-g’ global installasjon som betyr at Newman-pakken vil være tilgjengelig fra hvilken som helst mappe / plassering i filsystemet. For å utføre en lokal installasjon kan du fjerne ‘-g’ flagget fra ovenstående, der Newman-pakken bare vil være tilgjengelig fra den installerte plasseringen eller mappen.
For å validere vellykket installasjon av Newman, kan du bare sjekke versjonen ved å bruke kommandoen nedenfor.
newman -v 4.5.1
Kjører samlinger ved hjelp av Newman
For å kjøre samlinger med Newman, bør du ha en av de to.
- Samlingen i JSON-format.
- URL til den vert samlingen.
Kommandoen som brukes til å kjøre Postman-samlingen ved hjelp av Newman er:
char nummer til int c ++
newman run {{collectionJsonPath}} OR newman run {{collectionUrl}}
La oss prøve å kjøre en prøvesamling med Postman.
- Gå til Postman-applikasjonen, bruk en hvilken som helst eksisterende Postman-samling og eksporter den til JSON-skjema. (Vi oppretter en ny samling med 3 forespørsler, dvs. registrer bruker, påloggingsbruker og få bruker ved hjelp av API-endepunktsskjema her ).
- Eksporter nå samlingen til JSON-format.
- Når samlingen JSON er oppnådd, åpner du en ledetekst og kjører samlingen ved hjelp av kommandoen Newman run (antar at samlingen ble eksportert med navn - Postman_Newman_IntegrationCollection .json) og brukeren har surfet til katalogen for eksporteksport, så kan samlingen utføres ved å bruke kommandoen nedenfor.
newman run Postman_Newman_IntegrationCollection.json
Når kommandoen ovenfor er kjørt, produseres følgende utdata.
Newman-integrasjon med miljøvariabler
La oss nå se mer avanserte bruksområder for Newman. For en samling som ikke er avhengig av noen miljøvariabler, kan samlingen bare utføres ved å bruke kommandoen Newman run. Men for samlinger, ved bruk av miljøvariablene, må vi også gi miljøvariabelen JSON sammen med samlingen JSON.
Eksempel: Vi vil bruke den samme samlingen og bruke en miljøvariabel for GET User-endepunktet, dvs. for forespørsel med endepunkt .
Vi bruker userId fra miljøvariabelsamlingen. Så den resulterende forespørselen blir https://reqres.in/api/users/{{userId}}
Når miljøfilen er opprettet, eksporterer du den som en JSON ved å følge trinnene nedenfor.
- Lag et miljø, med en variabel som heter userId, og verdien skal settes til '4'.
- Klikk nå på Innstillinger-knappen for å åpne vinduet 'Administrer miljøer'.
- Klikk på 'Last ned' -ikonet mot det opprettede miljøet for å laste ned miljøet som en JSON-fil (lagre filen med navnet 'testEnv.json').
La oss eksportere samlingen igjen med den endrede forespørselen, og prøv å kjøre den samme samlingen sammen med miljøfilen med kommandoen som nedenfor:
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json
Når kommandoen ovenfor er utført, forblir utgangen den samme som den direkte innsamlingskjøringen, med den eneste endringen som er 'GET User' -forespørselen, nå henter verdien fra JSON-miljøfilen.
Påstandsresultater ved bruk av Newman
Ettersom Postman-forespørslene også kan inneholde påstander, vil vi nå gå gjennom hvordan påstandsresultatene vises når Postman-samlingene utføres gjennom en Newman.
Newman-samlingsløperen er i fullstendig paritet med Postman Collection-løperen og Request-utføreren. For forespørsler med påstander blir påstandene evaluert når og når forespørselsutførelsen er fullført, og sammendraget av påstandsutførelsen vises i testsammendraget på slutten av testkjøringen.
For den ovennevnte samlingen la vi til et påstand om samlingsnivå for å sjekke statuskoden for svaret til å være 200, dvs. for hver forespørsel som er en del av samlingen, bør denne påstanden være tilknyttet.
Så hvis denne samlingen hadde 3 forespørsler, betyr det at det skal være totalt 3 påstander som burde ha blitt henrettet.
Se skjermbildet nedenfor for uthevede resultater for utførelse og påstander.
Rapportgenerering ved hjelp av Newman
Så langt vet vi at Newman kan kjøre Postman-samlinger gjennom kommandolinjen og generere noen testlogger og testutføringssammendrag. Men hva med de formaterte rapportene som kan deles eller publiseres på en eller annen server?
Newman har også støtte for dette. Det er noen tilpassede nodemoduler tilgjengelig for å generere Newman-testutførelsesrapporter. Vi vil gå gjennom et eksempel ved hjelp av en newman-html-reporter .
Denne reporteren er igjen en nodemodul og må installeres separat ved hjelp av kommandoen nedenfor.
npm install -g newman-reporter-html
Når ovennevnte modul er installert, kan denne brukes sammen med Newman run-kommandoen.
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json -r html
Flagget ‘-r’ indikerer reporteren som skal brukes sammen med Newman-samlingen.
Med dette alternativet bruker den Newman-reporter-html-modulen eller pakkene og lager en HTML-basert rapport for testutførelsen.
Se en slik skjermdump av HTML-rapporten vist nedenfor:
Integrasjon med CI-verktøy
Med Newman som har muligheter til å kjøre som en kommandolinje, reduserer det mye avhengighet av eventuelle forutsetninger i form av en konsoll eller et program, dvs. den eneste avhengigheten som Newman har, er en node (som vanligvis er tilgjengelig som en utførelse miljøet i alle CI-maskiner som Jenkins slaver eller Travis noder).
Dette gjør det mulig å utføre Postman-samlinger som en del av selve rørledningen gjennom Newman-kommandolinjen.
Med Newman som har mulighet til å presse resultater i Html-format også, er dette veldig nyttig og praktisk, og under selve rørledningen kan HTML-resultatene skyves til en server eller kan sendes via e-post til de ønskede brukerne, etc. evner er uendelige ettersom avhengighetene er minimale.
For et slutt på slutt detaljert eksekveringseksempel på integrering med Jenkins, se dette eksemplet fra Postmans offisielle blogg her .
Flere alternativer med Newman
Uansett hva vi har dekket er en delmengde av funksjonaliteten som leveres av Newman. For fullstendige detaljer om kommandoer og brytere som Newman støtter, bare åpne kommandolinjehjelp for Newman ved hjelp av kommandoen nedenfor.
newman run -h
Her er utgangen av kommandoen ovenfor, med detaljer om alle bryterne og deres betydning.
Det er også andre informasjonsressurser for referanse til Newman API. Vennligst referer her for den offisielle dokumentasjonen.
Konklusjon
I denne veiledningen gikk vi gjennom kommandolinjeintegrasjonen av Postman kalt Newman, som gjør det mulig å kjøre Postman-samlinger gjennom et kommandolinjegrensesnitt.
Det er ganske enkelt en nodepakke, og enhver kommandolinje som har node installert sammen med Newman, skal kunne kjøre Postman-samlingen og generere flotte rapporter om utførelsen av samlingen.
Kommandolinjeintegrasjon er også til stor hjelp for integrering av Postman-baserte samlingstester med CI-verktøy som Jenkins, Travis, osv., Ettersom det ikke er noen avhengighet av operativsystem eller applikasjon, og det bare trenger nodemiljø for å kjøre kommandolinjen. samling.
=> Besøk her for den eksklusive opplæringsserien for postbud.
Anbefalt lesing
- Klipp kommandoen i Unix med eksempler
- Unix Cat Command Syntax, Alternativer med eksempler
- Ls Command i Unix med eksempler
- Hvordan og når skal jeg bruke manuskript for forhåndsforespørsel og postforespørsel?
- Grep Command i Unix med enkle eksempler
- Kommandolinjeargumenter i C ++
- Unix sorteringskommando med syntaks, alternativer og eksempler
- Kommandolinjeargumenter i Unix Shell Script med eksempel