Začínáme s testováním API - co byste měli vědět

Pokud začínáte s testováním API a automatizací testování API, jaké věci byste měli vědět? Pokud jste nějakou dobu udělali automatizaci uživatelského rozhraní (Selenium / Cypress), zjistili byste, že testování API je od začátku trochu skličující.

Za prvé, neexistuje žádné rozhraní pro interakci. Na rozdíl od testování uživatelského rozhraní, které můžete skutečně vizualizovat aktivity a pracovat s rozhraním, je testování API vše o holých požadavcích a odpovědích HTTP.

Zvažte například jednoduchou funkci přihlášení:


Při testování z uživatelského rozhraní stačí přejít na přihlašovací stránku, zadat uživatelské jméno a heslo a kliknout na tlačítko Odeslat. Interagujete s formulářem na stránce.

Jako tester možná nebudete vědět, co se v zákulisí skutečně děje, když kliknete na tlačítko Odeslat.


Pokud chcete otestovat stejnou funkci přihlášení na vrstvě API, kde začnete?

Musíte vědět url adresa koncový bod že musíte poslat POST požadavek na.

Musíte vědět, v jakém formátu potřebujete odeslat užitečné zatížení . Je to JSON, Multipart, form-data?

Také musíte vědět co záhlaví musíte poskytnout svůj požadavek.


Jakmile je žádost odeslána, tak co?

Musíte vědět co stavový kód odpovědi se očekává společně s tělo odpovědi . Nejen to, ale také to, jak z odpovědi získat různé informace.



Testování API - co byste měli vědět

Přišel jsem se seznamem položek, které by měl znát každý tester, který se podílí na testování API a automatizaci testů API.

Tento seznam není v žádném případě vyčerpávající, ale je minimem, které je třeba znát, pokud se chcete naučit testování API:


  • Schopnost vytvořit spustitelný spustitelný projekt se všemi knihovnami potřebnými pro podporu testování API
  • Pochopte a komunikujte s koncovými body prostřednictvím poštovního doručovatele
  • Vytvářejte sbírky a požadujte šablony v pošťákovi
  • Znát HTTP v plném kontextu
  • Požadavky [struktury požadavku, záhlaví, metoda, tělo]
  • Různé metody požadavků, GET, POST, PUT, PATCH, DELETE
  • Odesílání dat formuláře prostřednictvím JSON, vícedílné, kódované URL, parametry dotazu
  • Odpovědi [stavové kódy odpovědí, záhlaví odpovědí, orgány odpovědí]
  • Použití vhodných knihoven k analýze těla odpovědi a extrakci hodnot
  • Řetězení požadavku / odpovědi, extrahování těla odpovědi a jeho použití jako požadavku na další volání
  • Ověřovací mechanismus, OAuth2, OpenID, JWT, přístupové tokeny
  • REST, JSON, správa relací, autorizace

Další čtení: