Sobes.tech
Junior

Ispričaj o Postmanu i njegovim mogućnostima u testiranju API-ja.

sobes.tech АИ

Одговор од АИ

Postman je desktop aplikacija i web platforma za razvoj i testiranje API-ja. Omogućava slanje HTTP zahteva, pregled odgovora, kreiranje kolekcija zahteva, automatizaciju testiranja, dokumentovanje API-ja i zajednički rad na projektima.

Glavne mogućnosti Postmana za testiranje API-ja:

  • Kreiranje i slanje zahteva: Podržava sve glavne HTTP metode (GET, POST, PUT, DELETE, PATCH). Omogućava podešavanje parametara zahteva, zaglavlja, tela zahteva (forme, JSON, XML itd.).
  • Pregled i analiza odgovora: Prikazuje status kod, zaglavlja i telo odgovora. Omogućava formatiranje i pretraživanje podataka u odgovoru.
  • Rad sa kolekcijama: Organizacija zahteva u foldere i kategorije. Pogodno za grupisanje povezanih testova.
  • Promenljive i okruženja: Čuvanje i korišćenje promenljivih (URL, tokeni itd.) u zahtevima. Brzo prebacivanje između različitih testnih okruženja (dev, staging, prod).
  • Pre-request i Test skripte:
    • Pre-request skripte: Izvršavaju se pre slanja zahteva. Mogu se koristiti za pripremu podataka, generisanje tokena itd. Napravljene u JavaScript-u.
    • Testovi: Izvršavaju se nakon dobijanja odgovora. Omogućavaju proveru status koda, zaglavlja, tela odgovora, vremena odgovora i drugih parametara. Napravljeni u JavaScript-u koristeći framework Chai.js.
  • Automatizacija testiranja sa Collection Runner-om: Omogućava pokretanje cele kolekcije ili odabranih zahteva automatski. Može se podesiti redosled izvršavanja, iteracije, kašnjenja. Rezultati izvršenja prikazuju se u izveštaju.
  • Integracija sa CI/CD sistemima: Mogućnost pokretanja Postman testova iz komandne linije pomoću Newman (CLI runner za Postman) i integracija sa Jenkins, GitLab CI, GitHub Actions i drugim.
  • Dokumentovanje API-ja: Automatsko kreiranje dokumentacije na osnovu zahteva u kolekciji. Pogodno za deljenje sa drugim timovima ili klijentima.
  • Zajednički rad: Mogućnost deljenja kolekcija, promenljivih i okruženja sa drugim članovima tima.

Primer skripte za proveru statusa odgovora i prisustva polja u telu odgovora:

// Provera status koda
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

// Provera prisustva polja "success" u telu odgovora (očekuje se boolean)
pm.test("Response body has 'success' property", function () {
    const responseJson = pm.response.json();
    pm.expect(responseJson).to.have.property('success');
    pm.expect(responseJson.success).to.be.a('boolean'); // Opcionalna provera tipa
});

Primer korišćenja promenljivih okruženja:

// Korišćenje promenljive {{baseUrl}} u URL-u zahteva
// U Pre-request Script-u dobijanje tokena i čuvanje u promenljivu okruženja
pm.environment.set("authToken", responseData.token);

// U zaglavlju zahteva za autorizaciju koristiti promenljivu {{authToken}}

Postman znatno olakšava testiranje API-ja, čineći ga efikasnijim i praktičnijim.