how when use postman pre request
W tym samouczku wyjaśnimy, jak i kiedy używać skryptów wysyłania żądań pocztowych i skryptów wysyłania żądań pocztowych lub testów za pomocą prostych przykładów:
Analogicznie do świata testów jednostkowych, skrypt wstępnego żądania to nic innego jak konfiguracja, która nastąpi przed wykonaniem testu. Podobnie w programie Postman, jeśli chcesz zmodyfikować żądanie w określony sposób, skrypt przed żądaniem jest miejscem, w którym można umieścić tę logikę lub kod, który gwarantuje, przed rozpoczęciem wykonywania żądania.
=> Obejrzyj serię prostych szkoleń listonosza tutaj.
Czego się nauczysz:
Przepływ żądania listonosza
Najpierw spróbujmy zrozumieć, w jaki sposób Postman włącza lub zezwala na wykonywanie skryptów wstępnych i testowych w kontekście wykonywania żądania. Postman ma potężne środowisko uruchomieniowe oparte na Node JS, które umożliwia dodawanie możliwości skryptowych przed i po wykonaniu żądania.
Skrypty to nic innego jak kod Javascript, który piaskownica Postman rozumie i wykonuje zgodnie z oczekiwaniami.
Poniższy rysunek przedstawia przepływ żądań listonosza.
urządzenia sieciowe i ich warstwy osi
Oto samouczek wideo:
Skrypt przed żądaniem jest punktem wejścia do wykonania żądania w programie Postman. Jeśli istnieje jakikolwiek skrypt / logika dodana jako część skryptu przed żądaniem, który jest wykonywany jako pierwszy, po którym ma miejsce rzeczywiste wykonanie żądania i po otrzymaniu odpowiedzi, testy lub skrypty po żądaniu są wykonywane.
Skrypty przed żądaniem
Skrypty przed żądaniem to logika lub fragment kodu, który gwarantuje wykonanie przed rozpoczęciem wykonywania żądania. Pozwala na dodanie dynamicznego zachowania do wykonania żądania.
Należy tutaj zauważyć, że skrypty przed żądaniem mogą być również stosowane na poziomie kolekcji, co pośrednio oznacza, że skrypt przed żądaniem będzie miał zastosowanie do wszystkich żądań, które są częścią tej kolekcji.
Proszę odnieść się do poniższego rysunku, aby zobaczyć przepływ żądania, gdy dostępny jest skrypt wstępnego żądania na poziomie kolekcji i testy.
Kiedy używać skryptów poprzedzających żądanie?
Skrypty przed żądaniem są ogólnie przydatne, gdy wymagane jest wstępne przetwarzanie przed wykonaniem żądania.
# 1)Na przykład, załóżmy, że Twoje żądanie oczekuje tokenu bezpieczeństwa, który musi zostać pobrany z serwera innej firmy, a ponieważ ta wartość zmienia się przy każdym wykonaniu żądania, nie można jej również utrwalić ze zmiennymi środowiskowymi / globalnymi.
Skrypty pre-request są idealnym miejscem do wykonywania takiej logiki, a następnie używania jej przy wykonywaniu żądań.
Zobaczmy przykład, jak w tym przypadku używać skryptu przed żądaniem. Do zilustrowania będziemy używać tego samego punktu końcowego GET API https://reqres.in/api/users/{[randomVal}}
Tutaj {{randomVal}} jest losową liczbą całkowitą z zakresu od 1 do 10, która zostanie obliczona w skrypcie poprzedzającym żądanie.
Oto przepływ skryptu.
- Dodaj logikę na karcie skryptu przed żądaniem. Wygeneruj liczbę losową od 1 do 10.
var random = Math.floor(Math.random() * 10); pm.variables.set('randomVal',random)
- Przechowuj wygenerowaną liczbę losową w zmiennej środowiskowej lub lokalnej. W powyższym fragmencie kodu widać, że wygenerowaliśmy losową wartość z przedziału od 1 do 10 i zapisaliśmy ją w zmiennej lokalnej o nazwie „randomVal”.
- Użyj zmiennej środowiskowej jako części treści żądania.
- Wykonaj żądanie.
- Sprawdź wynik. Możesz spróbować wielokrotnie trafić na żądanie i zobaczyć, że żądanie jest trafiane dla różnych wartości identyfikatorów użytkowników, które zostały wygenerowane przez pre-skrypt zmiennej losowej.
#dwa) Skrypty pre-request są również przydatne, gdy potrzebujesz pewnych operacji związanych z nagłówkami. Na przykład, nagłówek żądania, który oczekuje identyfikatora sesji, który musi zostać wygenerowany losowo i wymaga innych konwersji, takich jak kodowanie lub przetwarzanie w oparciu o 64 podstawowe informacje.
jak przetestować metody prywatne przy użyciu mockito
Używanie skryptów przed żądaniem i po żądaniu z kolekcjami
Jak omówiono powyżej, skrypty pre-request można również zastosować na poziomie kolekcji. Te skrypty miałyby zastosowanie do wszystkich żądań dostępnych w kolekcji. Podobnie jak w przypadku skryptów przed żądaniem, do kolekcji można również zastosować testy lub skrypty po żądaniu.
Spójrzmy na ilustrację skryptów i testów żądań wstępnych na poziomie kolekcji i zobaczmy, jak skrypty są uruchamiane dla każdego żądania w kolekcji.
Będziemy używać kolekcji Postman z 2 żądaniami z następującymi testowymi punktami końcowymi.
- OTRZYMAĆ https://reqres.in/api/users/1
- POCZTA https://reqres.in/api/register z treścią żądania w formacie JSON z 2 polami, tj. emailId i hasło.
Dla tych żądań dodamy następujące skrypty na poziomie kolekcji.
- Wstępne żądanie: Dodaj nowy nagłówek o nazwie „Content-Type” i ustaw wartość nagłówka na „application / json”.
- Test: Jako test lub weryfikacja żądania po wysłaniu, sprawdzimy, czy zwrócona odpowiedź ma kod stanu HTTP 200, czy nie.
Postępuj zgodnie z poniższymi krokami
# 1) Utwórz nową kolekcję Postman z powyższymi żądaniami GET i POST.
#dwa) Kliknij prawym przyciskiem myszy Kolekcja -> Wybierz edytuj aby dodać skrypty i testy przed żądaniem na poziomie kolekcji.
do) W przypadku skryptu przed żądaniem wybierz kartę Skrypty przed żądaniem w oknie edycji kolekcji i dodaj poniższy skrypt (ten skrypt doda nagłówek o nazwie „Typ treści” z wartością application / JSON dla wszystkich żądań w kolekcji) .
pm.request.headers.add({ key: 'Content-Type', value: 'application/json' });
b) Aby dodać testy lub skrypt po żądaniu, dodaj poniższy skrypt na karcie „Testy”. (Ten skrypt doda test sprawdzający odpowiedź ze stanem HTTP 200 dla wszystkich żądań obecnych w kolekcji).
pm.test('Status code is 200', function () { pm.response.to.have.status(200); });
do) Po dodaniu skryptów kliknij „Aktualizuj”, aby zapisać wprowadzone zmiany.
# 3) Teraz spróbujmy uruchomić żądania wewnątrz kolekcji i zobaczmy, czy skrypty i testy przed żądaniem określone na poziomie kolekcji są poprawnie skonfigurowane, czy nie.
# 4) Otwórz pierwsze żądanie GET i wykonaj je, klikając plik 'Wysłać' przycisk. Aby wyświetlić nagłówki żądań, możemy skorzystać z konsoli Postman, która pokazuje pełne szczegóły żądania-odpowiedzi dla wszystkich żądań przechodzących przez aplikację Postman.
Później omówimy szczegółowo konsolę Postman, ale w tym samouczku użyjemy jej po prostu do sprawdzenia poprawności nagłówków żądań.
Aby otworzyć konsolę, kliknij ikonę konsoli w lewym dolnym rogu aplikacji Postman lub wybierz opcję konsoli z menu Okno (należy pamiętać, że podobne opcje są dostępne zarówno dla systemu operacyjnego Windows, jak i dla aplikacji Postman).
# 5) Aby zweryfikować skrypty lub testy po żądaniu, po prostu sprawdź poprawność zakładki „Testy” wykonanego żądania i powinieneś zobaczyć test sprawdzania poprawności kodu statusu, który został dodany na poziomie kolekcji, o wartości 200.
Dzięki skryptom poziomu kolekcji osiągnęliśmy
- Dodanie skryptów i testów przed żądaniem wstępnym na poziomie kolekcji ułatwia ich utrzymanie. Przykłady, obejmują dodawanie wspólnych nagłówków do wszystkich żądań, generowanie tokenów sesji dla żądań za pośrednictwem strony trzeciej itp.
- Typowe skrypty / testy, takie jak weryfikacja kodów odpowiedzi, można umieścić na poziomie kolekcji, aby uniknąć powtórzeń.
Wniosek
W tym samouczku omówiliśmy skrypty i testy przed żądaniem lub skrypty po żądaniu. Omówiliśmy również przykład użycia tych skryptów na poziomie kolekcji, aby uniknąć powtórzeń i umieszczania typowych skryptów na samym poziomie kolekcji.
Zarówno skrypty przed żądaniem, jak i testy są bardzo potężną i ważną funkcją programu Postman i dodają wiele wartości w tworzeniu testów integracji od końca do końca, szczególnie dla punktów końcowych API opartych na REST.
=> Odwiedź tutaj, aby nauczyć się listonosza od podstaw.
rekomendowane lektury
- Samouczek POSTMAN: Testowanie API przy użyciu POSTMAN
- Jak używać programu Postman do testowania różnych formatów API?
- Automatyzacja walidacji odpowiedzi z asercjami w programie Postman
- Praca z żądaniem FTP w JMeter
- Postprocesor Xpath Extractor w JMeter
- Szybki przewodnik SoapUI dotyczący przechowywania danych żądań i odpowiedzi w pliku - SoapUI Tutorial # 15
- Korzystanie z Post Processor w JMeter (Regular Expression Extractor)
- Kolekcje listonosza: importuj, eksportuj i generuj próbki kodu