Kod

Listonosz: kompletny przewodnik po użytkowaniu i przeznaczeniu

Listonosz: kompletny przewodnik po użytkowaniu i przeznaczeniu

Szkolenie z gwarancją zatrudnienia: specjalizacja Web Developer

Dowiedz się więcej

Współczesny Internet w dużej mierze opiera się na wykorzystaniu interfejsów API, a ogólnie rzecz biorąc, zaplecze rzadko funkcjonuje bez interfejsów programistycznych. Pomimo całej wygody, jaką oferują, wiążą się z nimi również pewne komplikacje: interfejsy te wymagają opracowania architektury i logiki, stworzenia dokumentacji, testowania i skalowania.

Na szczęście istnieje wiele usług, które upraszczają ten proces. Jednym z takich narzędzi jest Postman. Chociaż często jest on postrzegany wyłącznie jako narzędzie do testowania API, w rzeczywistości platforma ta oferuje znacznie szerszą funkcjonalność.

Postman: czym jest to narzędzie i jakie ma zastosowanie

Postman to platforma przeznaczona do tworzenia, testowania, dokumentowania, publikowania i utrzymywania interfejsów API. Za jego pomocą można tworzyć zbiory żądań do dowolnego interfejsu API, korzystać z różnych środowisk, konfigurować serwery pozorowane i pisać zautomatyzowane testy w JavaScript. Ponadto Postman umożliwia analizę i wizualizację wyników żądań.

Program obsługuje wiele architektur API, w tym HTTP, REST, SOAP, GraphQL i WebSockets. Postman jest szeroko wykorzystywany przez firmy takie jak Twitter, WhatsApp i Imgur. Jego intuicyjny interfejs graficzny ułatwia naukę obsługi platformy nawet początkującym użytkownikom.

Postmana można pobrać bezpłatnie z oficjalnej strony internetowej. Oprogramowanie jest dostępne dla systemów Linux, Windows i macOS. Aby jednak zacząć z niego korzystać, konieczna jest rejestracja.

Jak działa Postman

Kluczowym elementem Postmana jest jego przestrzeń robocza. Darmowa wersja programu oferuje trzy rodzaje takich przestrzeni:

  • Prywatna jest dostępna tylko dla jej właściciela.
  • Dostęp do informacji o zespole mają tylko członkowie grupy bezpośrednio zaangażowani w jego pracę.
  • Publiczna oznacza, że ​​jest dostępna dla każdego, kto wyrazi zainteresowanie.

Wersja Pro pozwala użytkownikom tworzyć prywatne przestrzenie robocze, z których mogą korzystać tylko zaproszeni uczestnicy, a nie wszyscy członkowie zespołu. Wersja Enterprise oferuje z kolei przestrzenie robocze partnerów, dostępne nie tylko dla zespołu, ale także dla zaproszonych partnerów.

Przeanalizujmy, jakie elementy zawiera przestrzeń robocza Postman:

Zrzut ekranu: Postman / Skillbox Media

Najważniejszą częścią jest lewy pasek boczny. Składa się on z siedmiu zakładek, z których każda reprezentuje kluczowe narzędzie Postmana.

  • Sekcja Kolekcje zawiera kolekcje żądań API. W ramach jednej kolekcji możliwe jest grupowanie wielu żądań w folderach.
  • Interfejsy API. W tej sekcji można zapisywać kompletne interfejsy API, w tym ich specyfikacje i zestawy.
  • Środowiska. W tej sekcji tworzone i przechowywane są środowiska zawierające zmienne. Z dowolnej zakładki w prawym górnym rogu, gdzie wskazano opcję Brak środowiska, można przełączać się między aktywnymi środowiskami. Dodatkowo, można tutaj tworzyć zmienne globalne, które są dostępne do użycia w dowolnym miejscu, niezależnie od wybranego środowiska.
  • Serwery pozorowane. Ta platforma umożliwia tworzenie serwerów wirtualnych, które symulują działanie serwerów rzeczywistych. Jest to szczególnie przydatne podczas testowania.
  • Monitory umożliwiają obserwację i analizę wydajności API: pomagają kontrolować wydajność, sprawdzają dostępność serwera i jego poprawne działanie w określonym czasie oraz wysyłają powiadomienia w przypadku awarii.
  • Flows to narzędzie umożliwiające konfigurację logiki aplikacji API za pomocą edytora wizualnego. Od marca 2023 r. jest ono nadal w fazie testów i aby uzyskać do niego dostęp, należy wysłać żądanie.
  • Historia. Ta sekcja przechowuje wszystkie wcześniej wysłane żądania. Można je zapisywać, grupować w kolekcje, a także tworzyć dla nich dokumentację, monitorowanie i symulować serwery.

Efektywne korzystanie z Postmana: Przewodnik krok po kroku

Postman to powszechnie używane narzędzie, z którego aktywnie korzystają testerzy. Można go używać do generowania żądań do dowolnego API, niezależnie od tego, czy Postman był używany podczas ich tworzenia.

Platforma oferuje własne API, pozwalające każdemu użytkownikowi testować funkcjonalność usługi i sprawdzać działanie żądań. Ten serwer echo odpowiada klientowi tymi samymi danymi, które zostały do ​​niego wysłane. Dokumentację można znaleźć pod poniższym linkiem.

Spróbujmy utworzyć własne żądanie API i przetestować jego funkcjonalność.

Aby utworzyć nową kolekcję, przejdź do sekcji Kolekcje i kliknij ikonę plusa. Element Nowa kolekcja pojawi się po lewej stronie aplikacji.

Zrzut ekranu: Postman / Skillbox Media

Aby zmienić nazwę na Kolekcja testowa, należy kliknąć trzy kropki znajdujące się po prawej stronie elementu Nowa kolekcja, a następnie w wyświetlonym menu wybierz opcję Zmień nazwę.

Zrzut ekranu: Postman / Skillbox Media

Obszar roboczy kolekcji zawiera pięć różnych Karty:

  • Sekcja autoryzacji umożliwia ustawienie metody i parametrów, które zostaną zastosowane dla każdego żądania w danej kolekcji.
  • Skrypt przed żądaniem to miejsce, w którym można utworzyć program JavaScript, który będzie uruchamiany przed każdym żądaniem w kolekcji. Postman udostępnia gotowe fragmenty kodu dla najpopularniejszych algorytmów, dzięki czemu można z nich korzystać zamiast pisać kod od podstaw.
  • Sekcja Testy działa podobnie do Skryptu przed żądaniem, ale jej kod jest wykonywany po wysłaniu żądania. Ten komponent jest przeznaczony dla testerów sprawdzających interfejsy API. Gotowe fragmenty kodu są również dostępne w tej sekcji.
  • Zmienne. W tej sekcji można zdefiniować zmienną i przypisać jej określoną wartość. Można następnie użyć tej zmiennej, odwołując się do jej nazwy w podwójnych nawiasach klamrowych {{nazwa zmiennej}}.
  • Postman umożliwia wykonywanie żądań nie pojedynczo, ale grupowo – w całości z jednej kolekcji lub folderu. Informacje o takich uruchomieniach i ich wynikach testów są przechowywane w sekcji Uruchomienia.

Istnieje kilka metod tworzenia żądania:

  • należy kliknąć przycisk „Nowy” w lewym górnym rogu i wybrać odpowiedni typ żądania;
  • kliknąć ikonę plusa na pasku kart u góry aplikacji;
  • należy kliknąć trzy kropki obok nazwy kolekcji i wybrać opcję „Dodaj żądanie” z wyświetlonego menu.

Wybierając pierwszą lub drugą opcję, ważne jest, aby podczas pierwszego zapisywania określić kolekcję, w której ma zostać zapisane żądanie.

Utwórzmy żądanie GET na adres https://postman-echo.com i oznaczmy je jako Test GET. Należy pamiętać, że nazwy żądań można zmieniać, podobnie jak nazwy kolekcji. Aby wykonać to zadanie:

  • Sformułujmy nowe żądanie.
  • Wybierzemy w tym celu metodę GET.
  • Przejdźmy pod następujący adres: https://postman-echo.com/get/.
  • W sekcji Params określimy klucze test_key1 i test_key2, a także odpowiadające im wartości test_value1 i test_value2.
  • Kliknij przycisk Send.
Zrzut ekranu: Postman / Skillbox Media

Serwer echo przesłał nam dokument JSON zawierający przekazane nagłówki i parametry (Postman dodaje niektóre nagłówki automatycznie).

Po otrzymaniu odpowiedzi będziesz mógł osobno przejrzeć pliki cookie, nagłówki i ewentualne wyniki testów. Dodatkowo Postman udostępnia informacje o statusie odpowiedzi, czasie jej otrzymania oraz rozmiarze zwróconego pliku.

W Postmanie, podobnie jak w kolekcjach, można określić metodę, parametry autoryzacji, a także skrypty i testy przed żądaniem.

Domyślnie autoryzacja jest dziedziczona z kolekcji, ale można ją zmienić w ramach konkretnego żądania. Skrypty są wykonywane w całości – zarówno te wspólne dla całej kolekcji, jak i te utworzone specjalnie na potrzeby tego żądania.

Teraz utwórzmy prosty test dla naszego żądania GET, który sprawdzi kod odpowiedzi. Jeśli otrzymamy kod 200, co oznacza, że ​​żądanie zostało pomyślnie zakończone, test zostanie uznany za pomyślny.

Teraz otwórzmy kartę Testy i w prawej kolumnie znajdźmy fragment kodu zatytułowany „Kod statusu: Kod to 200”. Kliknij go, a skrypt się pojawi.

Zrzut ekranu: Postman / Skillbox Media

Powtórzmy nasze żądanie. W sekcji odpowiedzi, w sekcji „Wyniki testu” Zobaczymy raport z testu: status to PASS, co oznacza, że ​​został ukończony pomyślnie.

Zrzut ekranu: Postman / Skillbox Media

Teraz utwórzmy dwa kolejne testy, ale nie w oddzielnym żądaniu, ale w ramach jednej kolekcji. Pierwszy test sprawdzi obecność ciągu test_value2 w odpowiedzi, a drugi będzie szukał ciągu string_you_want_to_search.

Teraz przejdźmy do sekcji „Kolekcja testów” i otwórzmy kartę „Testy”. Wybierz fragment kodu o nazwie „Treść odpowiedzi: Zawiera ciąg” i kliknij go dwukrotnie. W pierwszej części kodu zamień ciąg string_you_want_to_search na „test_value2”, a w drugiej pozostaw wszystko bez zmian. Nie zapomnij zapisać zmian, aby nowe testy zostały uwzględnione w żądaniu.

Zrzut ekranu: Postman / Skillbox Media

Teraz wyślemy podobne żądanie GET do serwera echo. Powinien przejść pierwszy test, ponieważ użyliśmy test_value2 jako jednego z parametrów, ale drugi test zakończy się niepowodzeniem. Sprawdźmy wynik.

Zrzut ekranu: Postman / Skillbox Media

Wszystko wydarzyło się dokładnie tak, jak oczekiwaliśmy. Żądanie uruchomiło zarówno indywidualne testy, jak i testy z kolekcji współdzielonej, a jeden z nich zakończył się niepowodzeniem. Jednak testy kolekcji zostały wykonane jako pierwsze, przed testami samego żądania.

Kolejność wykonywania skryptów znajdujących się w różnych częściach kolekcji jest następująca:

  • Najpierw uruchamiane są skrypty związane z kolekcją.
  • Następnie można tworzyć skrypty w folderze, ponieważ można je tam również umieszczać.
  • Następnie uruchamiane są skrypty do wykonywania żądań.

To podejście dotyczy całego kodu, zarówno w sekcji Testy, jak i w Skryptach przed żądaniem.

Zmienne, podobnie jak testy, znajdują się na różnych poziomach w Postmanie i mogą być tworzone w różnych miejscach:

  • Zmienne globalne obejmują wszystkie elementy obszaru roboczego. Można je tworzyć na karcie Środowiska, w obszarze Globalne.
  • Zmienne kolekcji są tworzone w obrębie określonej kolekcji i działają tylko w jej obrębie.
  • Zmienne środowiskowe są ustawiane w sekcji Środowiska. Aby używać ich w zapytaniach, należy bezpośrednio powiązać zapytanie z odpowiednim środowiskiem.
  • Zmienne lokalne działają w kontekście skryptów aktywowanych w odpowiedzi na zapytania przychodzące.
  • Zmienne danych pojawiają się podczas korzystania z Collection Runner, narzędzia umożliwiającego jednoczesne wykonywanie wszystkich skryptów znajdujących się w kolekcji lub jej folderze.

Im węższy zakres zmiennej, tym większy jej priorytet. Oznacza to, że jeśli zmienna globalna i lokalna mają tę samą nazwę, zostanie użyta wartość zmiennej lokalnej.

Aby utworzyć nowe środowisko o nazwie Środowisko testowe, należy użyć tej samej procedury, co podczas tworzenia kolekcji, ale tym razem należy przejść do zakładki Środowisko.

Zrzut ekranu: Postman / Skillbox Media

Zadeklarujmy zmienną o nazwie test_variable i przypiszmy jej wartość test_value3. Nie zapomnij zapisać zmian w bieżącym środowisku.

Zrzut ekranu: Postman / Skillbox Media

Następnie przełączymy się na kolekcję testową i aktywujemy żądane środowisko, wybierając ją w prawym górnym rogu interfejsu. Wszystkie zmienne z wybranego środowiska są teraz dostępne w tej kolekcji.

Zrzut ekranu: Postman / Skillbox Media

Zmodernizujmy drugi skrypt w testach kolekcji. Aby to zrobić, zamień wiersz „string_you_want_to_search” na fragment kodu, który odbiera zmienną środowiskową. W tym fragmencie kodu zmienimy „variable_key” na nazwę zmiennej „test_variable”. Po wprowadzeniu zmian nie zapomnij zapisać wyniku.

Dlatego drugi skrypt sprawdzi zgodność w odpowiedzi serwera nie z konkretnym ciągiem znaków, który chcesz wyszukać, ale z zawartością zmiennej testowej.

Zrzut ekranu: Postman / Skillbox Media

Teraz przyjrzyjmy się żądaniu GET i dodajmy nowy parametr. Kluczem tego parametru będzie test_key3, a jego wartością będzie zawartość zmiennej test_variable. Aby oznaczyć zmienną, ujmujemy jej nazwę w podwójne nawiasy klamrowe {{}}. Następnie zapisujemy zmiany i wysyłamy żądanie.

Zrzut ekranu: Postman / Skillbox Media

Jak widać, wszystkie testy zostały pomyślnie ukończone. Oznacza to, że wartość naszej zmiennej jest poprawnie pobierana zarówno z parametrów żądania, jak i podczas testowania.

Zrzut ekranu: Postman / Skillbox Media

Do Podsumowanie

Postman to uniwersalne narzędzie obejmujące wszystkie etapy cyklu życia API. Jednak zyskał szczególną popularność wśród testerów ze względu na rozbudowany zestaw możliwości pracy z żądaniami API. Ta aplikacja nie tylko pozwala tworzyć i konfigurować żądania, ale także organizować je w kolekcjach i folderach. Dodatkowo obsługuje różne środowiska ze zmiennymi niestandardowymi, a także pisanie testów automatycznych.

Postman oferuje różne płatne plany, ale na początek, do projektów osobistych lub testowania API wystarczy darmowa wersja.

Na naszym kanale Telegram znajdziesz mnóstwo fascynujących informacji o programowaniu i kodowaniu. Dołącz do nas!

Przeczytaj także:

  • Wyzwania, z którymi mierzą się inżynierowie QA: Jakie wyzwania stoją przed testerami?
  • Testowanie: Określ, które z prezentowanych języków programowania są ezoteryczne, a które nie.
  • API, czyli interfejs programowania aplikacji, to zestaw reguł i protokołów, który umożliwia różnym aplikacjom wzajemne oddziaływanie na siebie. Służy jako pomost, który ułatwia wymianę danych i funkcjonalności między systemami.

    API działają w oparciu o żądania i odpowiedzi. Gdy na przykład jedna aplikacja wysyła żądanie do innej za pośrednictwem API, używa określonego formatu, aby określić, jakich informacji lub działań potrzebuje. Można to zrobić na przykład za pomocą żądań HTTP, takich jak GET, POST, PUT i DELETE.

    Odpowiedź z API zazwyczaj przychodzi w formacie zrozumiałym dla aplikacji, najczęściej JSON lub XML. Dzięki temu API pozwala programistom integrować różne funkcje i dane w swoich aplikacjach bez zagłębiania się w szczegóły implementacji lub wewnętrzne mechanizmy innych systemów.

    Ostatecznie API znacznie upraszcza proces rozwoju, umożliwiając tworzenie bardziej złożonych i funkcjonalnych rozwiązań poprzez łączenie istniejących usług i narzędzi.