Hogyan teszteljük és játsszuk a webes API-kat a Postmannal való egyszerű módban

Egy olyan világban, ahol a statikus webhelyek és alkalmazások egyre inkább a külön karbantartott API-któl függenek, nehéz lehet rájönni, hogyan működnek, ha csak a böngészőben játszanak.

Tehát hogyan használhatjuk a Postmant mind a meglévő API-k tesztelésére, mind azok működésének megértésére?

  • Mi a Postás?
  • Mit fogunk építeni / megtanulni?
  • 0. rész: Beállítás a Postmannal
  • 1. rész: Bevezetés a Postáshoz
  • 2. rész: Új postás kérés létrehozása a Squirtle-ről szóló információk megszerzéséhez
  • 3. rész: Kérelmek gyűjteményének létrehozása a Postmanben a PokéAPI-hoz
  • 4. rész: POST kérések készítése a Postmannal a mondatok Yoda hangzású lefordítására
  • 5. rész: Kérelmek hitelesítése a Gyűrűk Ura API-nak API kulccsal

Mi a Postás?

A Postman egy olyan eszköz, amelyet a csapatok használhatnak az API-k megbízható teszteléséhez a könnyen használható konfigurációk segítségével. Olyan funkciókkal rendelkezik, amelyekre elvárható az API-k kezelése során, beleértve a hitelesítést, a fejlécek beállítását, a hasznos terhelés testreszabását és még egy csomó dolgot, amelyek segítenek csökkenteni az API használatának súrlódását.

És nem csak tesztelésre szolgál. A szépség az, hogy ez az API-kkal végzett munka sok szempontból felhasználható a csapat sok különböző tagjának. Lehet, hogy egy projektmenedzser szeretné ellenőrizni, hogy a dolgok működnek-e, vagy könnyebb lehet-e egyenesen változtatni az API-val, vagy egy minőségbiztosítási mérnöknek meg kell győződnie arról, hogy minden továbbra is működik, vagy egy fejlesztő aktívan szeretne változtatni, miközben magán az API-n dolgozik. .

A legjobb rész - a Postman együttműködési funkciókat kínál. Az ingyenes réteg magában foglalja a mentett API-kérelmek gyűjteményeinek exportálását és importálását, valamint megosztott hivatkozások létrehozását. Ha egy csapat tagja vagy, akkor fizetett szintjeik vannak, amelyek lehetővé teszik a gyűjtemények szinkronizálását, hogy mindenkinek rendelkezzen a legfrissebb és naprakész gyűjteményekkel.

Mit fogunk építeni / megtanulni?

Két különböző API-s példát fogunk bemutatni, hogy lefedjük a Postman fogalmait.

Először néhány egyszerű HTTP kérést fogunk átnézni egy nyilvános API-val a Pokémon számára.

Ezután az egyik részben a Yoda Translator API-t fogjuk használni, hogy bemutassuk, hogyan lehet konkrét HTTP kéréseket küldeni.

Miután megértettük az alapok működését, a Gyűrűk Ura API segítségével megtudhatjuk, hogyan működik a hitelesítés az API-kkal. Ehhez regisztrálnia kell egy ingyenes fiókot egy API kulcshoz.

0. rész: Beállítás a Postmannal

Mielőtt belekezdenénk, szüksége lesz a Postásra, hogy kövesse ezt az áttekintést. Jó hír, hogy a Postman ingyenesen elérhető Mac-en, Windows-on és Linuxon, ezért meg kell találnia az Ön számára megfelelő verziót.

Get Postman: //www.postman.com/downloads/

A letöltés után nézze át a szokásos telepítési utasításokat, nyissa meg, és készen állunk az indulásra!

1. rész: Bevezetés a Postáshoz

A Postman első megnyitásakor azonnal megjelenik egy indítópult egy csomó lehetőséggel a kezdéshez.

Lehet, hogy kissé elsöprőnek tűnik, de bontsuk le néhány kulcsfontosságú fogalmat, amelyeket tudnunk kell.

Kérések

A kérelem olyan, mint amilyennek hangzik, ez egy speciális API kérés. Ez egyetlen típusú kérés lesz, legyen az GET vagy POST egy adott végponthoz. Új kéréseket szeretne létrehozni az egyes végpontokhoz, amelyek lehetővé teszik, hogy tesztelés közben mozogjon közöttük.

Gyűjtemények

A gyűjtemény a kérések csoportja. Ez hasznos a kérések különböző csoportokba rendezéséhez. Ez lehet olyan egyszerű, mint két teljesen különböző API (pl. Twitter vs Slack), vagy lehet két különböző API csoport egy API-hoz (pl. Twitter Tweets API vs Twitter Accounts API).

Engedélyezés

A hitelesítés az, ahogyan a kérelmeket egy API-val hitelesítik, akár egy kérelmet benyújtó személy, akár egy számítógép, amely ezt az Ön nevében teszi meg. Ez általában egy API kulcs formájában jelenik meg, amely lehet statikus érték a fiókhoz rendelt vagy dinamikusan létrehozható olyan eszközökkel, mint az OAuth.

Környezetek

A környezetek lehetővé teszik a végpontok konfigurálását olyan speciális változók használatára, amelyek megkönnyítik ugyanazok a végpontok használatát a különböző környezetek között. Például lehet, hogy ugyanaz a /profilevégpontja van mind a gyártási, mind a fejlesztői környezetben, de ezek különböző tartományokkal rendelkeznek. A Környezetek lehetővé teszi egyetlen kérelem kezelését változó tartományokkal.

Munkaterületek

Ebben a bejegyzésben nem fogunk túl mélyen foglalkozni a munkaterületekkel, de ez lehetővé teszi a különböző gyűjtemények kezelését és rendszerezését. Képzelje el, ha a Postman-t mind munkájához, mind személyes projektjéhez szeretné használni, akkor rendelkezhet munka- és személyes munkaterülettel.

E cikk alkalmazásában a kérelmeket, a gyűjteményeket és az engedélyezéseket tárgyaljuk.

2. rész: Új postás kérés létrehozása a Squirtle-ről szóló információk megszerzéséhez

Most, hogy jobban megértjük a különböző terminológiát, hozzunk létre egy kérést.

A kezelőfelület bal felső sarkában látnia kell egy narancssárga gombot, amely azt írja, hogy Új . Kattintson előre, majd válassza a Kérelem lehetőséget .

Mielőtt belemennénk magába a kérésbe, kér néhány dolgot.

Ez az első dolog megköveteli a nevet. Kezdjük azzal, hogy információkat kérünk a Pokémon Squirtle-ről, ezért nevezzük ezt a "Pokémon - Squirtle" -nek.

Ehhez gyűjteményre is szükség van, ezért kattintson a Gyűjtemény létrehozása elemre, és nevezzük a gyűjteményt „Kedvenc Pokémonomnak”.

Kattintson a narancssárga pipa gombra a gyűjtemény neve mellett, majd nyomja meg a Mentés gombot .

Ezen a ponton új kérésünk lesz, ezért készítsük el ezt a kérést.

Két dolgot kell először kitöltenünk az első kéréshez:

  • Kérés típusa: GET, POST, PUT, stb - a GET-et fogjuk használni
  • Kérés URL: Az API kérés végpontja - kérésünkre a //pokeapi.co/api/v2/pokemon/squirtle/

És miután megbizonyosodott arról, hogy ezek helyesek, egyszerűen nyomja meg a kék Küldés gombot a jobb oldalon, és sikeresen benyújtottuk első kérésünket!

Azonnal kapunk néhány dolgot, amit láthatunk:

  • Törzs: alul látnunk kell az API kérés választörzsét. A mi Squirtle API, mi kell egy JSON objektum adatok, mint a abilities, base_experienceés forms.
  • Állapot: a jobb oldalon látnunk kell a HTTP állapotkódot. A „200 Ok” jó jel, és azt jelenti, hogy sikeres volt!
  • Idő: egyszerűen mennyi ideig tartott a kérés befejezése
  • Méret: a válaszadatok mérete KB-ban (példánkban)

Az egérrel az Állapot, az Idő és a Méret fölé is húzhat, és alaposabban áttekintheti az egyes lehetőségeket.

Tehát megtettük első kérésünket!

Egy dolog, amit észre kell venni, mielőtt továbblépnénk, az az, hogy kérésünk úgy néz ki, mintha egy böngésző lapon lenne. Ha elkészültünk az adott kéréssel, bezárhatjuk a fület, és a Mentés gombra kattintva megbizonyosodhatunk arról, hogy minden módosításunk megmarad-e a következő alkalommal!

3. rész: Kérelmek gyűjteményének létrehozása a Postmanben a PokéAPI-hoz

Most, hogy létrehoztunk egy kérést, hozzunk létre egy gyűjteményt belőlük. Technikailag már létre kellett hoznunk egy új kollekciót a 2. részhez, de létrehozunk egy újat, hogy megtudjuk, hogyan működnek maguk a gyűjtemények.

A kezelőfelület bal felső sarkában kattintson ismét a narancssárga Új gombra, és válassza a Gyűjtemény lehetőséget .

A kéréshez hasonlóan nevet is kér, ezért nevezzük ezt „PokéAPI” -nak. Opcionálisan felvehet egy leírást, majd az alján kattintson a Létrehozás gombra .

A bal oldalon láthatja a gyűjteményét. Kiválaszthatja és kibonthatja a mappát, mivel mi dolgozunk vele.

Mielőtt hozzáadnánk egy kérést, a PokéAPI-nak különböző típusú kérései vannak, ezért van értelme egy kicsit alaposabban szervezni. Tehát kattintson a PokéAPI gyűjtemény melletti három pontra, és válassza a Mappa hozzáadása lehetőséget .

A többihez hasonlóan ez is nevet kér. A mappák olyanok, mint a gyűjteményen belüli gyűjtemények, így hasonló lehetőségeket kap. Nevezzük ezt „Pokémonnak”, és kattintsunk a narancssárga Mentés gombra, mint korábban.

Most tegyük hozzá kéréseinket! Először kattintson a Pokémon mappa melletti három pontra, hasonlóan ahhoz, ahogyan egy mappát adtunk a gyűjteményhez, de ezúttal válassza a Kérelem hozzáadása lehetőséget .

Nevezzük ezt a kérést „Pokemonnak”. Bár zavaró lehet, hogy van egy Pokemon kérés a Pokémon mappában, a Pokemon csak a Pokémon csoport egyik végpontja.

Most használjuk ugyanazt az API-t, amelyet korábban a Squirtle kérésnél használtunk:

  • Kérés típusa: GET
  • Kérés URL-je: //pokeapi.co/api/v2/pokemon/squirtle/

És a korábbiakhoz hasonlóan, amikor a kék Küldés gombra kattintunk, sikeres kérést kell látnunk!

Most tegyünk fel egy újabb kérést. Kövesse ugyanazt a folyamatot, mint korábban, hogy új kérelmet hozzon létre a PokéAPI Pokémon mappában, és nevezzük ezt a kérést „Képességeknek”.

Ha végiggörgeti a választ a Squirtle első végpontjától, akkor sok más API URL-t lát. A tetején van abilitiesés van két különböző - a „torrent” és az „esőtál”.

Válaszd ki a kedvenc Squirtle képességedet, és másold be az urlértéket az általunk most létrehozott új Képesség kérésbe, amelyet használni fogok rain-dish.

Hagyhatjuk a Kérés típusát GET néven, nyomjuk meg a kék Küldés gombot, és ismét sikeres választ láthatunk!

Itt rengeteg információt kapunk a Squirtle Rain Dish képességünkről, és néhány részlet különböző nyelveken érkezik, ami nagyon jó!

Tehát most egy új PokéAPI kollekciónk van egy Pokémon mappával, amely a Pokémon API végpontok csoportját képviseli, beleértve a Pokemont és a képességeket.

Ezzel a 2 kéréssel leállítjuk a 3. részt, de folytathatja bátran, és annyi PokéAPI kérést adhat hozzá, amennyit csak szeretne!

4. rész: POST kérések készítése a Postmannal a mondatok Yoda hangzású lefordítására

Eddig csak GET-kéréseket tettünk, de mi lenne, ha POST-kérést szeretnénk tenni, ahol valóban adatokat kell küldenünk?

POST kéréshez a funtranslations.com webhelyről származó Yoda Translator API-t fogjuk használni. Bár ez az API csak egyetlen paramétert vesz fel, mégis jó nyilvános végpont, amelyet felhasználhatunk a koncepció megértéséhez.

Először hozzunk létre egy új gyűjteményt egy új kéréssel:

  • Gyűjtemény: Fun Translations
  • Kérés: Yoda

Ezúttal a GET kérés helyett a kérés konfigurációnk a következő lesz:

  • Kérés típusa: POST
  • Kérési URL: //api.funtranslations.com/translate/yoda

Most, ha megnyomjuk a kék Küldés gombot, észrevesszük, hogy nem kapunk sikeres 200-as választ, hanem 400-at!

Soha nem állítottunk be semmilyen adatot az API-hoz való közzétételhez, és ez megköveteli ezeket az adatokat, ezért adjuk hozzá.

Közvetlenül az URL kérése alatt kattintson a Törzs elemre . Ezután a semmi helyett válassza a nyers testtípust. Végül a jobb szélen a fajta, a változás szöveg a JSON .

Ezután az alatta lévő helyre a következőket adhatja hozzá:

{ "text": "Hello, I am learning how to test APIs with Postman!" } 

Most kattintson ismét a kék Küldés gombra, és sikeres választ kapunk!

Ezt a koncepciót nagyjából bármilyen API-ra alkalmazhatjuk. A Postman nem csak a JSON közzétételét engedélyezi, hanem a Testtípus szakaszban felsorolt ​​egyéb formátumok használatát is, vagyis sok lehetőség áll rendelkezésére attól függően, hogy az Ön által használt API milyen követelményeket igényel.

5. rész: Kérelmek hitelesítése a Gyűrűk Ura API-nak API kulccsal

Az áttekintés további részében a Gyűrűk Ura API-t fogjuk használni.

Először is, a Gyűrűk Ura API hitelesítést igényel annak érdekében, hogy API-kulccsal lehessen kéréseket benyújtani. Először is, mielőtt belemerülnénk, létre kell hoznia egy ingyenes fiókot.

//the-one-api.herokuapp.com/sign-up

Miután regisztrált és bejelentkezett, az első dolog az API-kulcs lesz! Vagy másolja le ezt a kulcsot, vagy ne felejtse el, hol találhatja meg későbbre. Ha elhagyja az oldalt, mindig megragadhatja azt, ha az API webhelyének navigációjában a Welcome , majd a Account elemre navigál.

A kezdéshez először hozzunk létre egy új gyűjteményt és kérjünk:

  • Gyűjtemény: A Gyűrűk Ura
  • Mappa: Film
  • Kérés: Minden film
  • Kérés típusa: GET
  • Kérési URL: //the-one-api.herokuapp.com/v1/movie

Miután beállította a fentieket, kattintson a Küldés gombra , és azonnal észreveszi, hogy a válasz 401-es üzenetet ad, és nem hitelesített.

Mivel ehhez az API-hoz API kulcs szükséges, pontosan erre számítottunk. Tehát kattintsunk az Engedélyezés fülre. Ezután kiválaszthatjuk a Bearer Token típusát , a jobb oldalon pedig beilleszthetjük a kulcsunkat, amelyet az imént állítottunk be a Gyűrűk Ura API-val.

És amint eltaláltuk a Send gombot , most sikeres választ látunk!

Ez nagyon jól sikerült, de mi van, ha van egy csomó kérésünk, amelyek egyetlen kulcsot használnak. Minden kérésre kezelnünk kell ezt?

Ahelyett, hogy minden egyes kérésre kezelnénk, kezelhetjük a gyűjteményen. Készítsünk először egy újabb kérést.

Gyűrűk ura gyűjteményünk alatt és a Film mappában hozzon létre egy új kérést:

  • Kérés: Idézet filmazonosító szerint
  • Kérés típusa: GET
  • Kérési URL: //the-one-api.herokuapp.com/v1/movie/{id}

Ebben a kérésben használjunk egy azonosítót az első kérés válaszából, azt fogom használni, 5cd95395de30eff6ebccde5bamely a Két Torony azonosítója, így a kérelem URL-je a következőképpen fog kinézni:

//the-one-api.herokuapp.com/v1/movie/5cd95395de30eff6ebccde5b

Ahelyett, hogy a tokenünket beállítanánk a kérelem engedélyezésében, a típust hagyjuk a Szülők hitelesítésének öröklése elemként . Kattintson a gyűjtemény mellett található három pontra, és válassza a Szerkesztés lehetőséget .

Itt ugyanazt a dolgot fogjuk megtenni, mint az első kéréssel, de a Gyűjtemény konfigurációján. Kattintson a Jogosultság fülre, írja be a Bearer Token elemet , és a Token mezőbe ismét illessze be a tokent.

Végül kattintson a Frissítés gombra, és nyomja meg újra a kék Küldés gombot, és sikeres kérést láthatunk!

Most visszatérhetünk az Összes film kéréshez, és frissíthetjük az Engedélyezést, hogy használhassunk egyfajta öröklődő jogosultságot a szülőtől, és továbbra is működnie kell!

Mit tehetnénk még a Postásszal?

Noha sok alapot áttekintettem, a Postmannal nagyon sok mindent megtehetsz. Íme néhány kedvencem.

Környezeti változók

Ha fejlesztőként dolgozik egy projekten, akkor valószínűleg csapata több környezetet is használ, például fejlesztői és termelési környezetet. Ahelyett, hogy teljesen külön kéréseket hozna létre és tartana fenn, hozzáadhat egy környezeti változót, és ehelyett megváltoztathatja a környezetek közötti váltáskor!

A változók sok szcenárióra vonatkoznak, de ez általános használat. Nézze meg a Postás dokumentumait, hogy megtudja, hogyan.

//learning.postman.com/docs/postman/variables-and-environments/variables/

Gyűjtemények és adatok importálása és exportálása

Nagyszerű dolog a Postman alkalmazásban, hogy miután minden kérése rendeződik, exportálhatja azokat mások számára. Ez azt is jelenti, hogy a csoport többi tagjától importálhat gyűjteményeket. Így sokkal könnyebb megbizonyosodni arról, hogy mindenki ugyanazt a gyűjteményt használja-e.

Bónusz: ezeket a fájlokat akár egy Git-tárban is tárolhatja, mivel ezek csak JSON-k.

De ne feledje - ha a gyűjteményben az Engedélyezést használja, mint ahogyan ebben az útmutatóban áttekintettük, akkor győződjön meg arról, hogy ezt nem tartalmazza a gyűjtemény exportálásakor.

//learning.postman.com/docs/postman/collections/importing-and-exporting-data/

Automatizált tesztelés

Ha van egy sor kérés egy gyűjteményben, és még jobb, ha tárolja őket a Github-ban, elkezdheti használni ezeket a kéréseket az API automatizált tesztelésének részeként.

Bár erre van néhány megoldás, a Postman tartalmaz egy közvetlenül az alkalmazásba beépített Collection futót, a Newman pedig egy parancssori eszköz, amely lehetővé teszi a tesztek futtatását közvetlenül a terminálról.

//www.postman.com/use-cases/api-testing-automation/

Mi a kedvenc módja az API-k tesztelésének és játékának?

Oszd meg velem a Twitteren!

Kövessen engem további Javascript, UX és egyéb érdekességekért!

  • ? Kövess a Twitteren
  • ? ️ Iratkozzon fel a Youtube-ra
  • ✉️ Iratkozzon fel a hírlevelemre