Przejdź do treści
Wróć do kursuAPI i QA / Lekcja 7 z 8

Lekcja 7 / workflow

Chaining i runner: requesty zaczynają ze sobą współpracować

Ręczne kopiowanie ID z odpowiedzi do kolejnego requestu szybko męczy i rodzi błędy. Chaining oznacza: pierwszy request wyciąga wartość, zapisuje ją w zmiennej, a drugi request jej używa.

Sytuacja: utwórz zasób i sprawdź go dalej

W prawdziwym flow QA często najpierw tworzysz koszyk, zgłoszenie albo użytkownika, a potem robisz kolejny krok na ID zwróconym przez API. Jeśli robisz to ręcznie, test przestaje być powtarzalny.

KrokRequestCo zapisujesz
1POST /postscreatedPostId z odpowiedzi
2GET /posts/{{createdPostId}}sprawdzenie, czy ID przechodzi dalej
3Runneruruchomienie flow w kolejności

Zapis wartości do zmiennej

Po requestcie POST możesz w Tests odczytać odpowiedź i zapisać id do zmiennej kolekcji. Dzięki temu następny request nie potrzebuje ręcznego kopiowania.

pm.test("created post has id", function () {
  const body = pm.response.json();

  pm.expect(body).to.have.property("id");
  pm.collectionVariables.set("createdPostId", body.id);
});
Postman: zakładka Scripts, w której zapisujesz zmienne po odpowiedzi
Chaining zaczyna się w Scripts/Post-res: po odpowiedzi zapisujesz wartość do zmiennej, której użyje kolejny request.

Użycie zmiennej w następnym requestcie

GET {{baseUrl}}/posts/{{createdPostId}}

W mock API nie każdy zapis zachowuje się jak prawdziwa baza danych, więc traktuj to jako naukę mechanizmu. W realnym API ten wzorzec jest bardzo ważny: login daje token, create cart daje cart ID, create order daje order ID.

Interpretacja QA
Chaining sprawdza przepływ, a nie pojedynczy endpoint w izolacji. To bliższe prawdziwej pracy użytkownika.

Ćwiczenie

W pierwszym requestcie zapisz id odpowiedzi do createdPostId. W drugim requestcie użyj tej zmiennej w URL-u. Potem uruchom oba requesty w Collection Runnerze.

Mini-zadanie

Przestaw kolejność requestów w runnerze i zobacz, co dzieje się, gdy drugi request startuje przed zapisaniem zmiennej.

Większa praktyka

Opisz flow trzema zdaniami: „tworzę zasób”, „zapisuję ID”, „używam ID w kolejnym kroku”. Jeśli nie umiesz tego wyjaśnić prosto, flow jest jeszcze za mało czytelny.

Quiz

Co oznacza chaining?

Przekazywanie danych z jednego requestu do kolejnego, najczęściej przez zmienne.

Po co używać runnera?

Żeby uruchomić kilka requestów w określonej kolejności i zobaczyć wynik całego flow.

Co może pójść źle, jeśli requesty są w złej kolejności?

Następny request może nie mieć zmiennej, którą powinien dostać z poprzedniego kroku.

Co dalej?

Znasz już requesty, zmienne, autoryzację, testy i chaining. W finale złożysz z tego mały smoke suite, czyli pakiet szybkich testów najważniejszego procesu API.

Lekcja 7: Chaining i runner: requesty zaczynają ze sobą współpracować | Postman od podstaw dla QA | Mikołaj Mikołajczak