Jak utworzyć zestaw testów i przypadek testowy w SoapUI

⚡ Inteligentne podsumowanie

Tworząc SoapUI Projekt, zestaw testów i przypadek testowy umożliwiają ustrukturyzowane testowanie usług sieciowych SOAP. Ten przewodnik wyjaśnia podstawy protokołu SOAP, import WSDL, wykonywanie żądań, konfigurację asercji oraz analizę dziennika odpowiedzi w celu zapewnienia niezawodności testów funkcjonalnych i regresyjnych.

  • ???? SOAP Foundation: SOAP to oparty na XML, niezależny od platformy protokół transportowany przez HTTP, który umożliwia wymianę komunikatów między różnymi systemami.
  • 📁 Tworzenie projektu: Zaimportuj WSDL do nowego SoapUI Projekt SOAP umożliwiający automatyczne generowanie żądań próbek dla każdej operacji.
  • 🗂️. Konfiguracja zestawu testowego: Kliknij prawym przyciskiem myszy katalog główny projektu, aby dodać zestaw testów grupujący powiązane przypadki testowe w celu uporządkowanego wykonania.
  • 🧪 Kroki przypadku testowego: Dodaj kroki żądania SOAP, wybierz operację docelową i skonfiguruj standardowe potwierdzenia, takie jak zgodność schematu i sprawdzanie błędów SOAP.
  • 📊 Inspekcja odpowiedzi: Użyj zakładki RAW i paneli dziennika (SoapUI Log, HTTP Log, Error Log, Memory Log) w celu sprawdzenia kodów statusu HTTP i rozwiązywania problemów z żądaniami.

Jak utworzyć zestaw testów i przypadek testowy w SoapUI

Zrozumienie protokołu SOAP

Przed utworzeniem SoapUI Przypadek testowy pomaga przypomnieć sobie podstawy protokołu SOAP. Dokładne zrozumienie sposobu przesyłania żądań i odpowiedzi SOAP między systemami ułatwia korzystanie z niego. SoapUI do ich skutecznego testowania.

MYDŁO oznacza Prosty protokół dostępu do obiektówPoniżej przedstawiono podstawowe właściwości protokołu SOAP:

  • Jest to protokół bazujący na XML, używany do komunikacji między dwoma różnymi systemami.
  • Jest niezależny od platformy i języka. System opracowany przy użyciu Java może komunikować się z tym opracowanym w .NET.
  • Żądania i odpowiedzi SOAP są przesyłane za pomocą protokołu HTTP.

Poznaj format komunikatu SOAP

Komunikat SOAP to zwykły dokument XML zawierający następujące elementy. Komunikat może być żądaniem lub odpowiedzią.

FORMAT wiadomości SOAP
Format wiadomości SOAP

Mając już podstawy protokołu SOAP, kolejnym krokiem jest zbudowanie SoapUI struktura projektu, zestawy testów i przypadki testowe potrzebne do walidacji danej usługi sieciowej. Poniższy przewodnik wykorzystuje SoapUI przykład projektu tworzącego nowy projekt SOAP.

Tworzenie projektu SOAP w SoapUI

Projekt SOAP przechowuje zaimportowaną definicję WSDL wraz ze wszystkimi wygenerowanymi przykładowymi żądaniami dla każdej operacji.

Krok 1: W zależności od typu projektu zaimportuj protokół SOAP lub REST. W tym przykładzie utwórz nowy projekt SOAP.

Tworzenie nowego projektu SOAP

Krok 2: Użyj następującego żądania SOAP URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Wprowadź nazwę projektu.
  2. Wprowadź ścieżkę żądania WSDL (w tym przypadku http://www.dneonline.com/calculator.asmx?wsdl).
  3. Kliknij OK.

Wprowadź nazwę projektu SOAP i ścieżkę WSDL

Uwaga:

  • Utwórz przykładowe żądanie dla wszystkich operacji: Generuje przykładowe żądanie dla każdej operacji w pliku WSDL. Domyślnie włączone po wprowadzeniu adresu WSDL; można je odznaczyć, jeśli nie jest wymagane.
  • Utwórz zestaw testów dla zaimportowanego pliku WSDL: Dodaje SoapUI Zestaw testów w ramach projektu dla zaimportowanego pliku WSDL.
  • Ścieżki względne: Zapisuje wszystkie pliki powiązane z plikiem projektu, co ułatwia przenoszenie.

Krok 3: Po utworzeniu projektu SOAP przy użyciu powyższego pliku WSDL do projektu zostaną zaimportowane dwie operacje.

Zaimportowany projekt SOAP Operanych

Krok 4: Rozwiń pierwsze żądanie, kliknij prawym przyciskiem myszy Dodaj, następnie kliknij Nowe żądanie.

Dodaj nowe żądanie do projektu SOAP

Następnie kliknij OKŻądanie SOAP jest wyświetlane w formacie XML.

Format żądania SOAP XML

  1. Wprowadź wartości dla intA oraz intB.
  2. Kliknij ikonę Wyślij przycisk.
  3. Odpowiedź XML wyświetla się w prawym panelu.

Wyślij żądanie SOAP i wyświetl odpowiedź

Dlaczego warto tworzyć przypadki testowe zamiast kierować bezpośrednie żądania?

Możliwe jest bezpośrednie wysłanie żądania dla jednej operacji, ale takie podejście szybko osiąga granice, gdy konieczne jest przetestowanie wielu kombinacji danych wejściowych. Na przykład, zmiana z 5+5 na 4+4 wymaga każdorazowej edycji żądania. Zestaw testów z przypadkami testowymi umożliwia wielokrotne wykorzystanie każdego scenariusza bez konieczności modyfikowania oryginalnej operacji.

Jak utworzyć zestaw testów w SoapUI

Zestaw testów to kontener grupujący powiązane przypadki testowe. Aby go utworzyć, wykonaj poniższe kroki.

Krok 1) Kliknij prawym przyciskiem myszy katalog główny projektu.

W ramach projektu utwórz zestaw testów, klikając prawym przyciskiem myszy katalog główny projektu.

Utwórz zestaw testów w SoapUI - Kliknij prawym przyciskiem myszy na projekt

Krok 2) Wprowadź szczegóły zestawu testów.

Wprowadź nazwę zestawu testowego i kliknij OK.

Wprowadź nazwę zestawu testowego

Krok 3) Zweryfikuj utworzony zestaw testów.

Nowy zestaw testów zostanie wyświetlony w panelu nawigacyjnym, jak pokazano poniżej.

Zweryfikuj utworzony zestaw testów

Krok 4) Otwórz pakiet testowy.

Okno zestawu testów otwiera się w prawym panelu. Ponieważ nie istnieją jeszcze żadne przypadki testowe, wszystkie opcje akcji pozostają wyłączone.

Otwórz puste okno zestawu testów

Jak utworzyć przypadek testowy w SoapUI

Przypadki testowe znajdują się w zestawie testów i grupują poszczególne kroki testowe, które wykonują usługę internetową.

Krok 1: W ramach zestawu testów utwórz wiele testów, klikając prawym przyciskiem myszy zestaw testów i wybierając Nowy przypadek testowy.

Utwórz nowy przypadek testowy w SoapUI

Krok 2: Podaj nazwę Przypadek testowy i kliknij OK.

Wprowadź nazwę przypadku testowego

Krok 3: Utworzony przypadek testowy początkowo nie zawiera żadnych kroków, jak pokazano poniżej.

Przypadek testowy z zerową liczbą kroków

Uwaga: Przypadek testowy jest dodawany z zerową liczbą kroków testowych dla każdego typu testu. W miarę dodawania kroków liczby w nawiasach aktualizują się automatycznie.

Kroki testu funkcjonalnego należą do Kroki testowe, kroki wydajnościowe wchodzą w grę Test obciążeniai kontrole bezpieczeństwa odbywają się pod Testy bezpieczeństwa.

Krok 4: Wstaw różne typy kroków testowych, klikając prawym przyciskiem myszy Kroki testowe i wybierając odpowiednią opcję. W przypadku usługi sieciowej REST wybierz żądanie testowe REST zamiast żądania SOAP.

Wstaw typy kroków testowych

Dodawanie kroku testowego w SoapUI

Dodaj krok testowy w celu sprawdzenia poprawności zaimportowanego żądania SOAP w przypadku testowym.

Krok 1: Dodaj nowy krok typu Żądanie SOAP jak pokazano poniżej.

Dodaj krok testu żądania SOAP

Krok 2: Wprowadź nazwę kroku i kliknij OK.

Wprowadź nazwę kroku testu

Krok 3: Pojawi się okno dialogowe umożliwiające wybór operacji do wywołania. Wyświetlane są wszystkie dostępne operacje do wyboru.

  • Tutaj pojawia się wiele operacji. Operacje są identyczne, z wyjątkiem wersji SOAP: CalculatorSoap używa wersji SOAP 1.1, podczas gdy CalculatorSoap12 używa wersji SOAP 1.2.
  • Wersja nie ma w tym scenariuszu znaczenia, więc można wybrać dowolną.

    Wybierz MYDŁO Operacja do wywołania

  • Po wybraniu operacji kliknij OK.

    Potwierdzać OperaWybór cji

Krok 4: Podczas dodawania przypadku testowego można zastosować standardowe asercje. Asercje, zwane również punktami kontrolnymi lub punktami walidacji, zostaną omówione w następnym samouczku.

Podczas tworzenia przypadku testowego można dodać następujące punkty kontrolne. Poniższy przykład tworzy przypadek testowy bez włączonych punktów walidacyjnych.

Standardowe SoapUI Asercje

  1. Sprawdza, czy komunikat odpowiedzi jest komunikatem SOAP po uruchomieniu testu.
  2. Sprawdza, czy schemat odpowiedzi jest prawidłowy.
  3. Sprawdza, czy odpowiedź SOAP zawiera element FAULT.

Krok 5: Po utworzeniu przypadku testowego, żądanie XML wygląda tak, jak pokazano poniżej. Struktura XML jest wyjaśniona w migawce.

Żądanie struktury XML

Krok 6: Liczba kroków testu została zwiększona do jednego, ponieważ dodano jeden krok. Dodanie kroków testu obciążenia i bezpieczeństwa automatycznie zwiększy ich liczniki.

Testowanie przyrostu licznika kroków

Wysyłanie żądania ręcznie i odczytywanie odpowiedzi w SoapUI

Krok 1: Poniższy przykład dodaje dwie liczby całkowite.

  • intA — 5
  • intB — 5

Dalej:

  1. Wprowadź te dane w miejsce znaków zapytania w żądaniu XML.
  2. Po zaktualizowaniu odpowiednich tagów XML kliknij Prześlij żądanie aby sprawdzić odpowiedź.

Wysyłanie żądania ręcznie z intA i intB

Krok 2: Po wysłaniu żądania usługa internetowa jest przetwarzana przez serwer internetowy, a odpowiedź jest zwracana w sposób pokazany poniżej.

Odpowiedź potwierdza, że ​​5 plus 5 równa się 10.

Odpowiedź SOAP pokazująca wynik dodawania

Zrozumienie paneli odpowiedzi i dziennika SOAP

Jak wspomniano wcześniej, komunikaty SOAP są przesyłane przez HTTP. Inspekcja komunikatów RAW pomaga wyjaśnić, w jaki sposób żądanie i odpowiedź SOAP są przesyłane przez HTTP.

Krok 1: Kliknij ikonę RAW w zakładce SoapUI okno żądania.

  1. Żądanie jest wysyłane do serwera WWW, dlatego używana jest metoda HTTP POST.
  2. Żądanie SOAP jest przesyłane w treści komunikatu HTTP.

Karta RAW żądania SOAP

Krok 2: Teraz kliknij RAW w zakładce SoapUI okno odpowiedzi, aby zrozumieć, w jaki sposób odpowiedź jest dostarczana przez HTTP.

  1. Po przetworzeniu żądania wyświetlany jest kod odpowiedzi HTTP (200), który oznacza pomyślne przetworzenie.
  2. Odpowiedź SOAP jest zwracana klientowi w treści wiadomości HTTP.

Karta RAW odpowiedzi SOAP z protokołem HTTP 200

Poniższa tabela podsumowuje typowe kody odpowiedzi HTTP, umożliwiające szybkie debugowanie.

HTTP Code OPIS
1xx Informacyjne: Żądanie otrzymane, przetwarzanie jest kontynuowane.
2xx Powodzenie: Działanie zostało pomyślnie odebrane, zrozumiane i zaakceptowane.
3xx przekierowanie: Aby zrealizować żądanie, konieczne jest podjęcie dalszych działań.
4xx Błąd klienta: Żądanie ma nieprawidłową składnię lub nie może zostać zrealizowane.
5xx Błąd serwera: Serwer nie zrealizował pozornie prawidłowego żądania.

Krok 3: W oknie przypadku testowego wyświetlane są również dodatkowe metadane dotyczące żądania i odpowiedzi.

Metadane okna przypadku testowego

  1. Oznacza BRAK nagłówka w wysyłanym żądaniu.
  2. Oznacza BRAK załączników w żądaniu wysyłanym do serwera WWW.
  3. Oznacza 10 elementów nagłówka w odpowiedzi, widocznych po kliknięciu.
  4. Oznacza brak załączników w wiadomości odpowiedzi.

Panel dzienników

Panel dzienników pokazuje wszystkie informacje wymieniane między klientem a serwerem. Poniżej opisano najczęściej używane zakładki dzienników.

SoapUI Karty panelu dzienników

SoapUI Log: Wyświetla informacje o odpowiedzi z serwera WWW. Te same dane są przechowywane w pliku soapui.log w SoapUI katalog bin.

SoapUI Karta dziennika

Dziennik HTTP: Wyświetla wszystkie transfery pakietów HTTP. Wszystkie informacje widoczne w widoku RAW są również rejestrowane w dzienniku HTTP.

Karta dziennika HTTP

Dziennik błędów: Wyświetla wszystkie błędy napotkane podczas całej sesji projektu. Te same informacje są przechowywane w pliku soapui-errors.log w SoapUI katalog bin.

Dziennik pamięci: Monitoruje zużycie pamięci i wyświetla je w formie wykresu. Jest to przydatne podczas wykonywania operacji wymagających dużej ilości pamięci.

Karta dziennika pamięci

Po przygotowaniu zestawu testów, przypadku testowego i kroku testowego oraz otrzymaniu poprawnej odpowiedzi, kolejnym krokiem jest jej walidacja. Typy asercji zostaną omówione w następnym samouczku.

FAQ

Zestaw testów to kontener grupujący powiązane przypadki testowe w obrębie SoapUI Projekt. Przypadek testowy to pojedynczy scenariusz zawierający jeden lub więcej kroków testowych, takich jak żądanie SOAP, żądanie REST lub asercje.

Tak. SoapUI Obsługuje zarówno testowanie SOAP, jak i REST. Podczas tworzenia nowego projektu wybierz opcję Nowy projekt SOAP dla usług opartych na WSDL lub Nowy projekt REST dla interfejsów API REST. Kroki testowe obejmują żądanie testowe REST, żądanie JDBC i Groovy Scenariusz.

Otwórz pakiet testowy i kliknij zielony przycisk odtwarzania. SoapUI Uruchamia wszystkie przypadki testowe w kolejności ich występowania. Można również skonfigurować wykonywanie równoległe lub sekwencyjne na karcie Właściwości zestawu testów.

Tak. Użyj kroku Właściwości, kroku Transfer właściwości lub kroku Źródło danych (SoapUI Pro) do sterowania wieloma danymi wejściowymi w tym samym przypadku testowym. Jest to przydatne do testowania opartego na danych w wielu kombinacjach danych wejściowych.

Asystenci AI potrafią odczytywać specyfikacje WSDL lub OpenAPI i sugerować realistyczne kombinacje danych wejściowych, przypadki brzegowe i wzorce asercji. Sugestie te można eksportować jako SoapUI XML lub Groovy skrypty, co zmniejsza konieczność ręcznego tworzenia dużych zestawów testów.

Tak. Narzędzia AI potrafią analizować SoapUI Rejestruj wpisy w dzienniku i dzienniku HTTP, grupuj powtarzające się błędy i wskazuj prawdopodobne przyczyny, takie jak niezgodności schematów lub błędy uwierzytelniania. Przyspiesza to selekcję podczas cykli regresji i dużych nocnych uruchomień.

Podsumuj ten post następująco: