Amarengo

Articles and news

Humble Bits

 API testing ved Hjelp Av Postman, Newman Og Jenkins

API testing er en type programvare testing der en ingeniør tester ikke bare funksjonalitet, men ytelse, pålitelighet og sikkerhet for et program. Apier er testet for å undersøke om programmet ville fungere slik det er forventet å, Som Apier er kjernen i et program funksjonalitet.

API-testing under utvikling kan avsløre problemer MED API, server, andre tjenester, nettverk og mer, de som man kanskje ikke oppdager eller løser lett etter distribusjon.

det er imidlertid vanskelig å teste Api-er. I stedet for bare å verifisere et endepunkts respons, kan man ha integrasjonstester Med Postman for å undersøke og validere svarene. Team i disse dager vil kanskje også automatisere å kjøre disse testene så snart en distribusjon er ferdig. En tilnærming vi kan ta er å ha våre integrasjonstester kjøre hver gang en utvikler sjekker inn kode til repo.

Å Legge til Dette Laget Av Kvalitetskontroll, kan sikre at de eksisterende funksjonalitetene fortsatt fungerer slik de var forventet, med en ekstra fordel for utviklerne å validere at koden deres gjør akkurat det den var ment å.

Verktøy FOR API – testautomatisering I CI

CI refererer til kontinuerlig integrasjon. Integrasjon av testskript og et testverktøy med continuous build system hvor testskriptene kan kjøres sammen med hver ny distribusjon eller regelmessig (daglig, ukentlig eller fjortende dag)

  1. Postmann: Integrasjonstester Med Postmann.
  2. Newman: Opprett En PowerShell-fil som kjører disse integrasjonstestene via kommandolinjen.
  3. Jenkins: Legg Til Et Postbyggingstrinn I Jenkins for å utføre PowerShell-skriptet når en bygg er initiert.

API Selection

jeg har implementert denne prosedyren i Vårt Prosjekt ved HJELP AV GPS-Apier, men for å starte her, la oss ta opp Følgende Apier:

Åpne Værkart: Gratis offentlige Apier.

jeg valgte dette som det er en gratis samling Av Apier som alle kan abonnere på og har sine EGNE API-nøkler å operere med.

Lag Integrasjonstester

for den første testen, la oss ta opp en enkel GET-forespørsel for Å få Vær MED ID. Hvis Du vil samhandle gjennom Api-Ene, må du sørge for å bruke API-nøkkelen som mottas når DU abonnerer PÅ OWM-tjenestene.

Trinn Til Første Integrasjonstest

Lag et miljø På Postmannen si ‘Værkart’ og definer miljøvariablene i den. .

Legg Til Forutsetningene I pre-Req-fanen for å sette opp testen.

var cityIds =; / / Få et tilfeldig tall mellom 0-9var randomCityId = Matte.gulv ((Matte.tilfeldig() * 9) + 1);// Angi en miljøvariabel til verdien av therandom by-id fra arraypostman.setEnvironmentVariable ("CITYID", cityIds)

nå, i Testfanen, legg til testskriptet som følger:

var jsonData = JSON.parse (responseBody); / / Saving theresponse" name " verdi i et miljø variablepostman. setEnvironmentVariable("CITYNAME",jsonData.name); pm. test ("Statuskode er 200", funksjon () {pm. response. to. have. status (200);});

ovennevnte testskript får svaret og vårt skript bryter svaret i en variabel kalt ‘jsonData’. Nå lagres verdien av navn-egenskapen i en miljøvariabel.

dermed opprettes den første testen som mislykkes hvis HTTP-statuskoden er noe annet enn en 200.

Samlinger

som OVENNEVNTE API-tester kan man ha flere testskript for flere endepunkter. Og disse flere testskript kan kjøres i rekkefølge for å ha en ende til ende test suite. Måten å ha en test suite er å holde flere testskript i et sted holder kalt Som En Samling I Postman.

disse samlingene kan deretter videre utføres gjennom samlingen runner i verktøyet.

Collection Runner

en collection runner kan brukes til å ha en samling AV API endepunkter med sine testskript på ett sted og derfor kjøre dem en etter en på en sekvensiell måte. Brukeren trenger bare å kjøre samlingen bare en gang med alle nødvendige testdata, testskript og for så mange iterasjoner man kanskje vil. Resultatet av samlingsløpet er en testrapport, omfattende nok til å overvåke Ytelsen Til Apiene og også å prøve å kjøre de mislykkede testskriptene på nytt.

for utdypende studie På Samling Løpere, se Link.

selv om brukergrensesnittet Til Postman ‘ s collection runner er godt nok, men for å integrere systemet Med Jenkins, må vi kjøre våre samlinger via kommandolinjen. Så, en måte å kjøre samlinger via kommandolinjen er Gjennom Newman.

Newman

Newman Er En Node Package Manager (NPM) pakke som tillater oss å kjøre og teste samlinger direkte fra kommandolinjen.

forutsetninger:

  • NodeJS og
  • NPM er allerede installert.

Kommandoer som skal kjøres På Windows Powershell

  • node-v
  • npm-v
  • $npm install-g newman

når de nødvendige installasjonene er gjort, må man ha sine samlinger og Miljø eksportert TIL JSON-filer i det lokale systemet. Disse filene kan deretter sendes som argumenter Til Newman.

Trinn for å få miljøet og samlinger på det lokale systemet:

  • Klikk På Last ned og Eksporter knappen I Postman.
  • Last ned samlingen
  • Last ned miljøet
  • Åpne ledetekst Og heve dine rettigheter. Dette er viktig for deg å utføre skriptet. Kjør følgende kommando:
Set-ExecutionPolicy-Omfang CurrentUserExecution Policy: Ubegrenset Bekreft denne endringen: Y 

åpne nå en annen ledetekst og kjør følgende kommando:

newman run-e 

Legge Postmann Tester Til Jenkins

Vi må først eksportere Våre Postmann filer (Miljø og Samlinger) og legge dem TIL GIT, sammen Med Vår Powershell script for å kjøre testene gjennom Jenkins build.

» Legg Postmannsfilene til roten av prosjektet.»

Forteller Jenkins å kjøre Newman

for dette skriver vi et skript Som kaller Newman og sender Det Miljøet OG Samlingen JSON-filer.

#powershell.exe-executionpolicy bypass-kommando " &'%ARBEIDSOMRÅDE%\Jenkins_PostmanDemo.ps1'"ekko "Inne I Powershell-skriptet"$SourceFilePath = $env:ARBEIDSOMRÅDE$FilenamePostfix="*.postman_collection.json" $ EnvironmentFile = " Demo-OpenWeatherMap.postman_environment.json " # Get all Postman test files$JsonFiles = Get-ChildItem-Path $SourceFilePath-name-Filter $FilenamePostfix / Sort-Object-Property CreationTime-Synkende # Bytt til katalog der Vi Har NodeJs installert.  Ellers vil 'newman' kommandoen ikke bli gjenkjent.# Du kan installere NPM Og Newman som bruker og kopiere ~ Roaming\npm katalogen i theC: \ drive.# cd C:\Users\\AppData\Roaming\npm\node_modules\newman\bincd C:\npm\node_modules\newman\bin # Loop gjennom json-filene og kjør newman for Å kjøre Postman testsforeach ($Fil i $JsonFiles) {$collectionfilepath = "$SourceFilePath\ $ File " $environmentfilepath = "$SourceFilePath\ $ EnvironmentFile"node newman kjør $collectionfilepath-e $environmentfilepath --disable-unicode}avslutt $LASTEXITCODE

– ‘avslutt $ LASTEXITCODE’: Når du skriver denne kommandoen, vil du se resultatet av den siste kommandoen. Vi gjør dette for å sikre At newman-kommandoen lykkes i hver eneste løkke. Hvis noen av testene mislykkes, må vi stoppe skriptet og avslutte 1. Det vil resultere i en mislykket bygge På Jenkins.

Legge Til Skript Til Jenkins

Trinn:

  • Logg Inn På Jenkins og opprett Et Freestyle-Prosjekt.
  • Start med å konfigurere dette prosjektet for å trekke repo-koden fra Git.
  • I Kategorien Generelt går du til build-delen og legger til følgende kommando:
powershell.exe-executionpolicy bypass-kommando " &' % ARBEIDSOMRÅDE%\Jenkins_PostmanDemo. ps1'

**man kan konfigurere e-Postvarsling delen for å konfigurere en e-postvarsel på bygge feil også.

Kjøre bygge-Og overvåkingsresultatene

Prøv å kjøre prosjektet og undersøk resultatene.

man kan få frem vellykket inngang i powershell-skriptet med setningen ‘Inside Powershell script’ i jenkins-utgangen.

Konklusjon

Forbedring av kontinuerlig integrasjon ved Hjelp Av Postman, Newman Og Jenkins legger til et nytt lag av kvalitetssikring i vår livssyklus for utvikling. Selv om dette er et stort skritt i automatisering, må vi understreke at vår testdekning avhenger av kvaliteten på våre testskript.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.