Edukacja klientów w zakresie wirtualizacji piaskownicy API
Czym jest wirtualizacja piaskownicy?
Wirtualizacja piaskownicy API to usługa, która symuluje działanie instancji piaskownicy na żywo. Nasza usługa zwirtualizowana zapewnia spójne środowisko, w którym uzyskiwana odpowiedź jest uprzednio zdefiniowana i nie zmienia się w zależności od podanych wartości wejściowych.
Oto przykład: Przyjmijmy, że realizujesz wiele wywołań z takim samym żądaniem stawki, zmieniając lokalizację nadawcy i odbiorcy w każdym teście. API zwróci taką samą uprzednio zdefiniowaną odpowiedź na zapytanie dotyczące stawki niezależnie od zmian adresu. Mimo że wartości mogą być niezgodne, struktura odpowiedzi umożliwi uzyskanie symulacji tego, co otrzymalibyśmy w rzeczywistym środowisku.
Ponieważ usługa zwirtualizowana nie wpływa na komponenty systemu zaplecza, testowanie integracji jest chronione przed zależnościami ze strony zaplecza, a jednocześnie nadal uzyskuje się właściwą odpowiedź.
Dlaczego piaskownica FedEx jest zwirtualizowana?
W złożonym, współzależnym systemie takim jak FedEx występuje niestety kilka przypadków, w których zależny zasób staje się niedostępny, co wpływa negatywnie na dostępność systemu. Występowanie takich incydentów, nawet jeśli mają one charakter zdalny, może niekorzystnie oddziaływać na testowanie integracji interfejsów API. Istnieją inne ograniczenia instancji na żywo, które również mogą powodować zawężenie zakresu testowania integracji. Oto przykłady:
- Konto wysyłkowe nieposiadające wymaganego dostępu, umożliwiającego przetestowanie określonego scenariusza.
- Ograniczona dostępność danych testowych.
- Zaplanowany lub niezaplanowany przestój systemu.
Jak korzystać z instancji zwirtualizowanej piaskownicy?
- Zapoznaj się z dokumentacją API, punktami końcowymi i metodą uwierzytelniania. Ułatwi to projektowanie skutecznych testów.
- Pobierz i zapoznaj się z kolekcją JSON API dostępną w dokumentacji API.
- Wybierz i przetestuj przykładowe transakcje, które pasują do Twoich scenariuszy użytkowania. Aby uzyskać spójne wyniki, należy unikać zmiany struktury ładunku żądania, co pozwoli otrzymać odpowiedź zwirtualizowaną.
- Należy pamiętać, że nie wszystkie wartości wejściowe będą miały wpływ na odpowiedź. Warto natomiast zrozumieć, w jaki sposób aplikacja obsługuje spójne odpowiedzi.
- Przetestuj wszystkie interfejsy API pod względem prawidłowego działania zgodnie z dokumentacją. Uwzględnij zarówno pozytywne, jak i negatywne przypadki testowe.
- Skorzystaj z dostępnych negatywnych przypadków testowych, aby zorientować się, w jaki sposób zwracane są komunikaty o błędach i kody statusu. Pomoże to określić, w jaki sposób Twoja aplikacja powinna zarządzać błędami. Odwołaj się do kolekcji JSON API i przypadków testowych z prefiksem „Negative” („negatywny”).
Zalety wirtualizacji
- Mniejsze ryzyko niedostępności zasobów.
- Mniejsze uzależnienie od danych testowych.
- Szybsza odpowiedź w porównaniu z instancją piaskownicy na żywo.
- Usługi specjalne nie wymagają jawnego dostępu na poziomie konta.
- Sprawna integracja, ułatwiająca proces testowania i certyfikacji.
Często zadawane pytania
- Co zrobić, żeby ładunek żądania został przekazany do odpowiedzi zwirtualizowanej?
Dokumentacja każdego API obejmuje kolekcję JSON API. Przejdź do Katalogu interfejsów API i otwórz dokumentację API. Zapoznaj się z sekcją „JSON API Collection” („Kolekcja JSON API”) w dokumentacji API. Ta kolekcja JSON API zawiera wszystkie zapisane ładunki żądań, które mogą pobrać odpowiedź zwirtualizowaną. - Czy muszę posiadać token, aby uzyskać dostęp do instancji zwirtualizowanej piaskownicy?
Tak, generowanie tokenów i autoryzacja będą przebiegały jak dotychczas i konieczne będzie przekazywanie tokena w przypadku każdej transakcji, która wymaga interakcji z usługą zwirtualizowanej piaskownicy. - Jak mogę sprawdzić, czy odpowiedź jest zwracana z usługi zwirtualizowanej?
Odpowiedź zwirtualizowana będzie zawierała poniższy alert dodany jako część ładunku.
- Dlaczego mój adres w ładunku żądania nie podlega weryfikacji w interfejsie API stawek i czasów doręczenia?
Weryfikacja adresu nie stanowi części logiki, która pozwala uzyskać zwirtualizowaną odpowiedź dotyczącą stawki. Weryfikacji podlega tylko kraj, a zatem w pozostałych polach adresu można podać dowolne wartości. - Czy wszystkie interfejsy API są zwirtualizowane?
Do tej pory zwirtualizowano jedynie interfejsy API podane poniżej. Obecnie trwają prace nad wirtualizacją pozostałych funkcji API.
Interfejs API stawek i czasów doręczenia | Zwirtualizowano |
Interfejs API śledzenia | Zwirtualizowano |
Interfejs API przesyłek Freight LTL — funkcja ustalania stawek i odbioru | Zwirtualizowano |
Interfejs API weryfikacji adresu | Zwirtualizowano |
Interfejs API weryfikacji kodu pocztowego | Zwirtualizowano |
Interfejs API żądania odbioru | Zwirtualizowano |
Interfejs API dostępności usług | Zwirtualizowano |
Interfejs API handlu globalnego (Global Trade) | Zwirtualizowano |
Interfejs API zamknięcia dnia w usłudze Ground | Zwirtualizowano |
Interfejs Open Ship API | Zwirtualizowano |
Interfejs API wysyłki | Zwirtualizowano |
Interfejs API wyszukiwania placówek FedEx | Zwirtualizowano |