Tutoriál k testování REST API: Ukázkové manuální testovací případy
⚡ Chytré shrnutí
Testování REST API ověřuje RESTful webové služby odesíláním HTTP požadavků, jako jsou GET, POST, PUT a DELETE, a následným ověřováním stavového kódu, záhlaví odpovědi a dat vrácených serverem.

Co je testování REST API?
Testování REST API je open-source technika automatizovaného testování webu, která se používá k testování RESTful API pro webové aplikace. Účelem testování REST API je zaznamenat odezvu REST API odesláním různých HTTP/S požadavků, aby se ověřilo, zda REST API funguje správně. Testování REST API se provádí metodami GET, POST, PUT a DELETE.
REST znamená Representational State Transfer. Je to architektonický styl a přístup ke komunikaci používaný při vývoji Webové službyREST se stal logickou volbou pro tvorbu API, protože umožňuje uživatelům efektivně se připojovat a interagovat s cloudovými službami.
API neboli aplikační programovací rozhraní (API) je sada programovacích instrukcí pro přístup k webové softwarové aplikaci. Jinými slovy, jedná se o sadu příkazů, které jeden program používá k přímé komunikaci s jiným programem a k využití funkcí ostatních programů k získávání informací.
Například, Google Webové stránky mohou mít API pro vyhledávání, překlady a kalendáře. Obecně API vypadají jako v níže uvedeném příkladu s názvem serveru, cestami a parametry.
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
Ale proč vůbec investovat úsilí do testování této vrstvy?
Proč je testování REST API důležité
REST API se nachází mezi uživatelským rozhraním a databází, což z něj dělá vrstvu, kde se nachází většina obchodní logiky. Chyba v pravidle pro stanovení cen nebo kontrola oprávnění se v odpovědi API projeví dlouho předtím, než si někdo na obrazovce všimne špatného čísla, takže testování zde odhalí problémy dříve a blíže k jejich příčině.
Druhým důvodem je rychlost. Požadavek se dokončí během milisekund a nevyžaduje žádný prohlížeč, renderovací engine ani lokátory křehkých elementů. Tester může v době, kterou jeden test rozhraní potřebuje k načtení stránky, otestovat desítky koncových bodů a stejný požadavek se chová stejně, ať už je frontendem webová stránka, mobilní aplikace nebo partnerská integrace.
Stabilita je třetím důvodem. Rozvržení se neustále mění, ale publikovaný REST koncept...tracOčekává se, že t zůstane stabilní. Testy napsané proti tomutotracnepřežijí redesign, takže chrání ty části produktu, na kterých ostatní týmy skutečně staví.
Typy metod API
Existují především 4 druhy Testování API metody: GET, POST, DELETE a PUT.
- GET– Metoda GET se používá k extracinformace z daného serveru pomocí daného URI. Při použití požadavku GET by se mělo pouzetract data a nemělo by to mít na data žádný jiný vliv.
- POST– Požadavek POST se používá k vytvoření nové entity. Lze jej také použít k odesílání dat na server, například informací o zákaznících, nahrávání souborů atd. pomocí formulářů HTML.
- PUT– Vytvořte novou entitu nebo aktualizujte existující.
- DELETE– Odebere všechny aktuální reprezentace cílového zdroje dané identifikátorem URI.
Jak testovat REST API
Testování REST API vyžaduje, aby aplikace interagovala s ukázkovým API pro účely testování. Pro testování API potřebujete dvě věci:
- Testovací nástroj/rámec pro řízení API
- Zapsání vlastního kódu pro testování ukázkového REST API
Testovací případy REST API lze testovat pomocí nástrojů jako:
- Pokročilý klient pro odpočinek
- Postman-Klient odpočinku
- Curl v Linuxu
Zde budeme používat Advanced Rest Client. Níže jsou uvedeny kroky k jeho získání.
Jak získat pokročilého klienta pro odpočinek?
- Přejít Google ChromeInternetový obchod 's
- Vyhledejte „Advanced Rest Client“ nebo přímo přejděte zde a Nainstalujte rozšíření
- Vyberte ikonu „Advanced Rest Client“ v části aplikace Chrome – chrome://apps/
Seznam v internetovém obchodě se zobrazí, jak je znázorněno níže.
Po dokončení instalace proveďte níže uvedený test pro otestování RESTful API.
Kroky pro testování REST API
Zde používáme rozšíření klienta REST v prohlížeči Chrome. Pro lepší pochopení používáme k testování fiktivní API:
http://ip.jsontest.com/
Krok 1) Otevřete pokročilého klienta REST
Po úspěšné instalaci spusťte aplikaci Advanced REST client (ARC).
Krok 2) Zadejte URL API k testování
Zadejte ukázkové REST API URL pro testování v URL textové pole.
Krok 3) Vyberte metodu HTTP
Vyberte metodu pro typ HTTP metod při testování API, které chcete zasáhnout – např. POST
Krok 4) Poskytněte sadu záhlaví
Poskytněte sadu záhlaví v textovém poli Záhlaví. Klikněte na Vložit sadu záhlaví.
Krok 5) Potvrďte nastavení záhlaví
Další Klikněte na POUŽÍT TUTO SADA.
Krok 6) Poskytněte požadovaný obsah těla
- Nyní přejděte na kartu Body.
- Nastavte požadovaný typ obsahu těla a zobrazení editoru, např. Typ obsahu těla: aplikace/json
- Zobrazení editoru: Nezpracovaný vstup.
- V části Payload předejte tělo požadavku demo API pro testování ve formě párů klíč-hodnota, například {“key1″:”value1″,”key2″:”value2”}. Pokud se jedná o POST API, pak musíme předat tělo nebo parametry. Předáme je pod daným payloadem.
{"property" : ["Sites"], "report_type" : ["ALL"]}
Warning️ Varování: Typ obsahu aplikace/json s neplatným datovým obsahem JSON vrací 400 Chybný požadavek.
Krok 7) Odešlete podrobnosti ke spuštění testu
- Stiskněte tlačítko Odeslat.
- Kliknutím na tlačítko PODROBNOSTI zobrazíte záhlaví odpovědí.
Zde jsou podrobnosti o odpovědi:
Reakci je stále třeba posoudit vzhledem k očekávanému výsledku.
Ověřování výsledků
Pro testování webového API musíme zkontrolovat hlavně kód odpovědi, zprávu odpovědi a tělo odpovědi.
Kódy odpovědí spadají do pěti rodin:
| Rodina | Kategorie | Význam |
|---|---|---|
| 1xx | Informační | Přijato, stále se zpracovává |
| 2xx | úspěch | Dokončeno; 200 OK, 201 Vytvořeno |
| 3xx | Přesměrování | Je vyžadován další krok |
| 4xx | Chyba klienta | Špatný datový obsah, token nebo zdroj |
| 5xx | Server Error | Platný požadavek, server selhal |
Níže jsou uvedeny kódy odpovědí, se kterými se můžete setkat.
Jeden požadavek dokazuje, že koncový bod funguje. Sada dokazuje, že funguje i nadále.
Testovací případy REST API, které musíte projít
Užitečná sada REST API se rozkládá napříč několika kategoriemi namísto opakování stejného volání happy-path s různými daty:
- Šťastnou cestu: Odešlete platný požadavek každému koncovému bodu a potvrďte stavový kód, schéma a hodnotu každého pole.
- Negativní případy: Odešlete chybně formátovaný JSON, nepodporovanou metodu a chybějící ID zdroje, poté očekávejte kódy 400, 405 a 404 místo kódu 500.
- Hraniční hodnoty: Pokud pole přijímá 1 až 200 znaků, otestujte 0, 1, 200 a 201. Ověřovací pravidla se na okrajích přerušují.
- Speciální znaky: Pro odhalení chyb kódování vkládejte do každého pole písmena s diakritikou, emotikony, uvozovky a vícebajtový text.
- stract kontroly: Porovnejte odpověď s publikovanou specifikací OpenAPI nebo Swagger, aby byly nezdokumentované změny zachyceny včas.
- Sekvenování: Volejte koncové body v realistickém pořadí, například POST, poté GET, poté DELETE, protože stav se přenáší mezi voláními.
- Zdravý výkon: Zaznamenávejte doby odezvy při každém spuštění a označte jakýkoli koncový bod, který překročí prahovou hodnotu dohodnutou s týmem.
Testovací nástroj REST API
Různé nástroje se hodí pro různé fáze testování.
| Nástroj | Typ | Nejlepší pro |
|---|---|---|
| Pokročilý klient pro odpočinek | Desktopový klient | Rychlé manuální volání |
| Postman | Desktopový klient | Kolekce a týmové pracovní prostory |
| JMeter | Zátěžové testování | Doby odezvy při zátěži |
| SoapUI | Funkční testování | REST a SOAP dohromady |
| BUĎTE V SIGNÁLU | Java knihovna | Automatizace stabilních případů |
| cURL | Příkazový řádek | Vkládání volání do hlášení chyb |
Podívejte se na souhrn Nástroje pro testování API.
Většina skutečných koncových bodů odmítá odpovědět, dokud se neprokáže, kdo ji odeslal.
Ověřování a bezpečnostní kontroly REST API
Veřejné demo koncové body odpovídají komukoli, ale produkční REST API se nachází za ověřovacím schématem a chyba v autorizaci je mnohem škodlivější než nesprávná hodnota pole. Nejprve identifikujte mechanismus: statický klíč API, přihlašovací údaje HTTP Basic, nosičový token OAuth 2.0 nebo podepsaný webový token JSON.
Jakmile je ověřený požadavek úspěšný, záměrně projděte cesty selhání:
- Žádné pověření: Odstraňte hlavičku Authorization. Očekávejte chybu 401 Unauthorized a v těle se neobjeví žádná data záznamu.
- Špatně zadané přihlašovací údaje: poškodit jeden znak tokenu. Očekávejte znovu chybu 401 se zprávou, která nevysvětluje proč.
- Platnost přihlašovacích údajů vypršela: znovu použít token po vypršení jeho platnosti. Potvrďte, že byl odmítnut, nikoli akceptován, což je běžná chyba způsobená zkreslením hodin.
- Nesprávná úroveň oprávnění: Ověřte se jako uživatel s nízkými oprávněními a zavolejte koncový bod pouze pro správce. Očekávejte chybu 403 „Zakázáno“, nikoli 200.
- Záznam jiného uživatele: změnit ID tak, aby uživatel A požadoval data uživatele B. Úspěch v tomto případě je vážnou vadou v řízení přístupu.
Nakonec ověřte, že každý hovor probíhá přes HTTPS, že neúspěšné odpovědi neunikají žádným datovým zásobníkům. tracbannery verzí nebo verzí a že rychlé opakování spouští chybu 429 „Příliš mnoho požadavků“.
Testování REST API také s sebou nese potíže, které testování rozhraní nenese.
Výzvy pro testování API
Zajímavé problémy pro testery při testování REST API jsou:
- Aby se zajistilo, že testovací vybavení mění parametry volání API takovým způsobem, aby se ověřila funkčnost a zároveň odhalily chyby. Zahrnuje to prozkoumání okrajových podmínek a přiřazení společných parametrů.
- Vytváření zajímavých kombinací hodnot parametrů pro volání se dvěma nebo více parametry
- Identifikace obsahu, pod kterým je třeba provádět volání API. To může zahrnovat nastavení podmínek externího prostředí (periferní zařízení, soubory atd.) a také interně uložená data, která ovlivňují API.
- Sekvenční volání API podle pořadí, ve kterém bude funkce provedena
- Aby API produkovalo užitečné výsledky z po sobě jdoucích volání.










