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)
- Postmann: Integrasjonstester Med Postmann.
- Newman: Opprett En PowerShell-fil som kjører disse integrasjonstestene via kommandolinjen.
- 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.