Samouczek testowania API REST – przykładowe ręczne przypadki testowe

Co to jest testowanie API REST?

Testowanie API REST to technika testowania automatyzacji sieci WWW o otwartym kodzie źródłowym, używana do testowania interfejsów API RESTful dla aplikacji internetowych. Celem testowania rest api jest rejestrowanie odpowiedzi rest api poprzez wysyłanie różnych żądań HTTP/S w celu sprawdzenia, czy rest api działa poprawnie, czy nie. Resztę testów API wykonuje się metodami GET, POST, PUT i DELETE.

Reszta oznacza Representational State Transfer. Jest to styl architektoniczny i podejście do komunikacji stosowane w rozwoju Web Services. REST stał się logicznym wyborem przy tworzeniu interfejsów API. Umożliwia użytkownikom efektywne łączenie się z usługami w chmurze i interakcję z nimi.

Interfejs API lub interfejs programowania aplikacji to zestaw instrukcji programistycznych umożliwiających dostęp do aplikacji internetowej. Innymi słowy, zestaw poleceń używanych przez indywidualny program do bezpośredniej komunikacji między sobą i wzajemnego korzystania z funkcji w celu uzyskania informacji. Na przykład witryna Google może mieć interfejs API do różnych funkcji, takich jak wyszukiwanie, tłumaczenia, kalendarze itp.

Ogólnie interfejsy API są takie jak poniżej, mają nazwę serwera, ścieżki itp

http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv

Rodzaje metod API

Istnieją głównie 4 rodzaje Testowanie API metody: GET, POST, Delete i PUT.

  • GET– Metoda GET służy do wydobywania informacji z danego serwera przy pomocy danego URI. Podczas korzystania z żądania GET powinno ono jedynie wyodrębniać dane i nie powinno mieć żadnego innego wpływu na dane.
  • POST– Do utworzenia nowej jednostki używane jest żądanie POST. Można go również wykorzystać do przesyłania danych na serwer, np. informacji o klientach, przesyłania plików itp. za pomocą formularzy HTML.
  • PUT– Utwórz nowy podmiot lub zaktualizuj istniejący.
  • DELETE– Usuwa wszystkie bieżące reprezentacje zasobu docelowego podane przez identyfikator URI.

Jak przetestować API REST

Testowanie interfejsu API wymaga interakcji aplikacji z przykładowym interfejsem API w celu testowania. Aby przetestować API, potrzebujesz dwóch rzeczy:

  • Narzędzie/rama testowa do obsługi interfejsu API
  • Napisanie własnego kodu w celu przetestowania przykładowego API REST

Przypadki testowe Rest API można testować za pomocą narzędzi takich jak:

  • Zaawansowany klient odpoczynku
  • Postman-Odpocznij Kliencie
  • Curl w Linuksie

Tutaj będziemy używać Advanced Rest Client, poniżej znajdują się kroki, aby uzyskać Advance Rest Client,

Jak zdobyć zaawansowanego klienta odpoczynku?

    • Iść do Google ChromeSklep internetowy
    • Wyszukaj „Advanced Rest Client” lub przejdź bezpośrednio tutaj i Zainstaluj rozszerzenie

Jak zainstalować klienta Advance Rest

  • Wybierz ikonę „Zaawansowany klient odpoczynku” w sekcji aplikacji Chrome – chrome://apps/

Po zakończeniu instalacji wykonaj poniższy test w celu przetestowania RESTful API

Kroki testowania interfejsu API REST

Tutaj używamy rozszerzenia klienta odpoczynku w przeglądarce Chrome. Aby wszystko było jasne, do testów używamy fikcyjnego API”

http://ip.jsontest.com/

Krok 1) Otwórz zaawansowanego klienta REST

Uruchom aplikację Zaawansowany klient REST (ARC) po pomyślnym zainstalowaniu.

Otwórz zaawansowanego klienta REST

Krok 2) Wprowadź adres URL API do przetestowania

W polu tekstowym URL wprowadź przykładowy adres URL interfejsu REST API w celu przetestowania.

Adres URL API do przetestowania

Krok 3) Wybierz metodę HTTP

Wybierz metodę typu metod HTTP w testowaniu API, które mają zostać trafione – np. POST

Metoda HTTP

Krok 4) Podaj zestaw nagłówków

Podaj zestaw nagłówków w polu tekstowym Nagłówki. Kliknij na Wstaw zestaw nagłówków.

Zestaw nagłówków

Krok 5) Potwierdź ustawienie nagłówków

Następnie kliknij UŻYJ TEGO ZESTAWU.

Zestaw nagłówków

Krok 6) Podaj wymaganą treść treści

  1. Teraz przejdź do zakładki Treść.
  2. Ustaw wymagany typ zawartości treści i widok edytora, np. typ zawartości treści: aplikacja/json
  3. Widok edytora: surowe dane wejściowe.
  4. W obszarze Payload przekaż treść żądania demonstracyjnego API do testowania w postaci par klucz-wartość, np. {{„key1″:”value1″,”key2″:”value2”}. Jeśli jest to post API, musimy przekazać treść lub parametry. Przejdziemy pod zadanym ładunkiem.
{"property" : ["Sites"], "report_type" : ["ALL"]}

Kroki testowania interfejsu API REST

Krok 7) Prześlij szczegóły, aby rozpocząć test

  1. Naciśnij przycisk wysyłania.
  2. Aby zobaczyć nagłówki odpowiedzi, kliknij przycisk SZCZEGÓŁY.

Kroki testowania interfejsu API REST

Oto szczegóły odpowiedzi:

Kroki testowania interfejsu API REST

Walidacja wyników

Głównie w przypadku testowania interfejsu API sieci Web musimy sprawdzić kod odpowiedzi, komunikat odpowiedzi i treść odpowiedzi.

Poniżej znajdują się różne kody odpowiedzi, które można napotkać podczas testowania API.

Walidacja wyników

Narzędzie do testowania interfejsu API REST

Wyzwania związane z testowaniem API

Do interesujących problemów testerów podczas testowania usług REST należą:

  1. Aby upewnić się, że wiązka testowa zmienia parametry wywołań API w taki sposób, aby zweryfikować funkcjonalność i ujawnić awarie. Obejmuje badanie warunków brzegowych i przypisywanie wspólnych parametrów
  2. Tworzenie interesujących kombinacji wartości parametrów dla wywołań z dwoma lub większą liczbą parametrów
  3. Identyfikacja treści, w ramach której należy wykonać wywołania API. Może to obejmować ustawienie warunków środowiska zewnętrznego (urządzenia peryferyjne, pliki itp.), a także danych przechowywanych wewnętrznie, które mają wpływ na interfejs API
  4. Sekwencjonowanie wywołań API zgodnie z kolejnością wykonywania funkcji
  5. Aby interfejs API generował przydatne wyniki z kolejnych wywołań.

Podsumowanie

  • Interfejs API lub interfejs programowania aplikacji to zestaw instrukcji programistycznych umożliwiających dostęp do aplikacji internetowej.
  • Istnieją głównie 4 metody testowania automatyzacji API REST, takie jak GET, POST, Delete i PUT.
  • Musimy sprawdzić kod odpowiedzi, komunikat odpowiedzi i treść odpowiedzi w przypadkach testowych API Testing.