Početak rada s API testiranjem - što biste trebali znati

Ako započinjete s API testiranjem i automatizacijom API testova, koje biste stvari trebali znati? Ako ste neko vrijeme radili automatizaciju korisničkog sučelja (Selenium / Cypress), otkrili biste da je testiranje API-a za početak malo zastrašujuće.

Prije svega, ne postoji sučelje za interakciju. Za razliku od testiranja korisničkog sučelja, koje zapravo možete vizualizirati aktivnosti i komunicirati sa sučeljem, API testiranje odnosi se samo na gole HTTP zahtjeve i odgovore.

Na primjer, razmotrite jednostavnu funkcionalnost prijave:

Tijekom testiranja iz korisničkog sučelja, sve što trebate je otići na stranicu za prijavu, unijeti korisničko ime i lozinku i kliknuti gumb za slanje. Komunicirate s obrascem na stranici.

Kao tester možda nećete biti svjesni što se stvarno događa iza kulisa kada kliknete gumb za slanje.

Kada želite testirati istu funkcionalnost prijave na API sloju, gdje početi?



Morate znati url adresa krajnja točka da trebate poslati a POST zahtjev do.

Morate znati u kojem formatu morate poslati svoj korisni teret . Je li to JSON, Multipart, obrazac-podaci?

Također trebate znati što zaglavlja morate dostaviti svoj zahtjev.

Jednom kad se zahtjev pošalje, što onda?

Morate znati što kod statusa odgovora očekuje se zajedno s odgovorno tijelo . I ne samo to, već i kako iz odgovora izvući razne informacije.

API testiranje - što biste trebali znati

Došao sam do popisa predmeta koje bi svaki tester koji je uključen u testiranje API-ja i automatizaciju API ispitivanja trebao znati.

Ovaj popis nikako nije iscrpan, ali je minimum koji je potreban da biste znali želite li naučiti API testiranje:

  • Biti u stanju stvoriti pokrenuti, izvršni projekt sa svim potrebnim bibliotekama za podršku API testiranju
  • Razumijevanje i interakciju s krajnjim točkama putem poštara
  • Stvorite zbirke i zatražite predloške u poštaru
  • Znajte HTTP u punom kontekstu
  • Zahtjevi [strukture zahtjeva, zaglavlje, metoda, tijelo]
  • Različite metode zahtjeva, GET, POST, PUT, PATCH, DELETE
  • Slanje podataka obrasca putem JSON-a, više dijelova, URL kodirano, parametri upita
  • Odgovori [kodovi statusa odgovora, zaglavlja odgovora, tijela odgovora]
  • Upotreba odgovarajućih knjižnica za raščlanjivanje tijela odgovora i izdvajanje vrijednosti
  • Lanac zahtjeva / odgovora, izdvajanje tijela odgovora i njegovo posluživanje kao zahtjev za sljedeći poziv
  • Mehanizam provjere autentičnosti, OAuth2, OpenID, JWT, pristupni tokeni
  • REST, JSON, upravljanje sjednicama, autorizacija

Daljnje čitanje: