Jak vytvořit testovací sadu a testovací případ v SoapUI

⚡ Chytré shrnutí

Vytvoření SoapUI Projekt, testovací sada a testovací případ umožňují strukturované testování webových služeb SOAP. Tento návod vysvětluje základy protokolu SOAP, import WSDL, provádění požadavků, nastavení assercí a analýzu protokolu odpovědí pro spolehlivé funkční a regresní testování.

  • 🧠 MÝDLO Foundation: SOAP je protokol nezávislý na platformě založený na XML, přenášený přes HTTP, který si vyměňuje zprávy mezi různými systémy.
  • 📁 Vytvoření projektu: Importujte WSDL do nového SoapUI SOAP Project pro automatické generování vzorových požadavků pro každou operaci.
  • 🗂️ Nastavení testovací sady: Klikněte pravým tlačítkem myši na kořenový adresář projektu a přidejte testovací sadu, která seskupuje související testovací případy pro organizované spuštění.
  • 🧪 Kroky testovacího případu: Přidejte kroky požadavku SOAP, vyberte cílovou operaci a nakonfigurujte standardní kontrolní výrazy, jako jsou kontroly shody schématu a chyb SOAP.
  • 📊 Inspekce odpovědi: Použijte kartu RAW a podokna Log (SoapUI protokol, protokol HTTP, protokol chyb, protokol paměti) k ověření stavových kódů HTTP a řešení problémů s požadavky.

Jak vytvořit testovací sadu a testovací případ v SoapUI

Pochopení protokolu SOAP

Před vytvořením a SoapUI Testovací případ, pomáhá si zopakovat základy protokolu SOAP. Jasné pochopení toho, jak se požadavky a odpovědi SOAP pohybují mezi systémy, usnadňuje jeho používání. SoapUI pro jejich efektivní testování.

Zkratka SOAP znamená Protokol přístupu k jednoduchým objektůmNíže jsou uvedeny základní vlastnosti protokolu SOAP:

  • Jedná se o protokol založený na XML, který se používá pro komunikaci mezi dvěma různými systémy.
  • Je nezávislý na platformě a jazyce. Systém vyvinutý pomocí Java může komunikovat s programem vyvinutým v .NET.
  • Požadavky a odpovědi SOAP jsou přenášeny přes HTTP.

Naučte se formát zpráv SOAP

Zpráva SOAP je běžný dokument XML obsahující následující prvky. Zpráva může být buď požadavek, nebo odpověď.

FORMÁT zprávy SOAP
Formát zprávy SOAP

Po zavedení základů SOAP je dalším krokem vytvoření SoapUI struktura projektu, testovací sady a testovací případy potřebné k ověření dané webové služby. Následující návod používá SoapUI příklad projektu pro vytvoření nového SOAP projektu.

Vytvoření SOAP projektu v SoapUI

Projekt SOAP uchovává importovanou definici WSDL spolu se všemi vygenerovanými vzorovými požadavky pro každou operaci.

Krok 1: V závislosti na typu projektu importujte protokol SOAP nebo REST. V tomto příkladu vytvořte nový projekt SOAP.

Vytvoření nového projektu SOAP

Krok 2: Použijte následující požadavek SOAP URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Zadejte Název projektu.
  2. Zadejte cestu k požadavku WSDL (v tomto případě http://www.dneonline.com/calculator.asmx?wsdl).
  3. klikněte OK.

Zadejte název projektu SOAP a cestu WSDL

Poznámka:

  • Vytvořte vzorový požadavek pro všechny operace: Generuje vzorový požadavek pro každou operaci ve WSDL. Ve výchozím nastavení povoleno při zadání adresy WSDL; pokud není vyžadováno, může být zrušeno.
  • Vytvořte testovací sadu pro importovaný WSDL: Přidá a SoapUI Testovací sada v rámci projektu pro importovaný WSDL.
  • Relativní cesty: Ukládá všechny soubory související s projektovým souborem pro snadnou přenositelnost.

Krok 3: Po vytvoření SOAP projektu s výše uvedeným WSDL budou do projektu importovány dvě operace.

Importovaný projekt SOAP Operace

Krok 4: Rozbalte první požadavek, klikněte pravým tlačítkem myši přidat, poté klepněte na tlačítko Nová žádost.

Přidat nový požadavek do projektu SOAP

Pak klikněte na tlačítko OKPožadavek SOAP se zobrazí ve formátu XML.

Formát XML požadavku SOAP

  1. Zadejte hodnoty pro intA a intB.
  2. Klepněte na tlačítko Odeslat .
  3. XML odpovědi se zobrazí v pravém podokně.

Odeslání požadavku SOAP a zobrazení odpovědi

Proč vytvářet testovací případy místo přímých požadavků?

Je možné odeslat požadavek na jednu operaci přímo, ale tento přístup rychle narazí na limity, když je nutné otestovat více vstupních kombinací. Například přepnutí z 5+5 na 4+4 vyžaduje pokaždé úpravu požadavku. Testovací sada s testovacími případy umožňuje zachovat každý scénář opakovaně použitelný bez změny původní operace.

Jak vytvořit testovací sadu v SoapUI

Testovací sada je kontejner, který seskupuje související testovací případy. Chcete-li ji vytvořit, postupujte podle následujících kroků.

Krok 1) Klikněte pravým tlačítkem myši na kořenový adresář projektu.

V rámci projektu vytvořte testovací sadu kliknutím pravým tlačítkem myši na kořenový adresář projektu.

Vytvořit testovací sadu v SoapUI - Projekt kliknutím pravým tlačítkem myši

Krok 2) Zadejte podrobnosti o testovací sadě.

Zadejte název testovací sady a klikněte na OK.

Zadejte název testovací sady

Krok 3) Ověřte vytvořenou testovací sadu.

Nová sada testů se zobrazí v navigačním panelu, jak je znázorněno níže.

Ověření vytvořené testovací sady

Krok 4) Otevřete testovací sadu.

V pravém panelu se otevře okno Testovací sady. Protože zatím neexistují žádné testovací případy, všechny možnosti akcí zůstávají neaktivní.

Otevřít prázdné okno testovací sady

Jak vytvořit testovací případ v SoapUI

Testovací případy se nacházejí v testovací sadě a seskupují jednotlivé testovací kroky, které procvičují webovou službu.

Krok 1: V rámci testovací sady vytvořte více testů kliknutím pravým tlačítkem myši na testovací sadu a výběrem Nový testovací případ.

Vytvořit nový testovací případ v SoapUI

Krok 2: Zadejte název Testovací případ a klepněte na tlačítko OK.

Zadejte název testovacího případu

Krok 3: Vytvořený testovací případ má zpočátku nulové kroky, jak je znázorněno níže.

Testovací případ s nulovým počtem kroků

Poznámka: Testovací případ je přidán s nulovým počtem kroků pro každý typ testu. Čísla v závorkách se při přidávání kroků automaticky aktualizují.

Kroky funkčního testu patří do Testovací kroky, kroky výkonu jdou do Test zatíženía bezpečnostní kontroly probíhají pod Bezpečnostní testy.

Krok 4: Vložte různé typy testovacích kroků kliknutím pravým tlačítkem myši Testovací kroky a výběrem příslušné možnosti. Pro webovou službu REST vyberte místo požadavku SOAP požadavek REST Test Request.

Vložit typy kroků testu

Přidání testovacího kroku do SoapUI

Přidejte testovací krok pro ověření importovaného požadavku SOAP v rámci testovacího případu.

Krok 1: Přidat nový krok typu SOAP požadavek jak je uvedeno níže.

Přidat krok testu požadavku SOAP

Krok 2: Zadejte název kroku a klikněte na OK.

Zadejte název kroku testu

Krok 3: Zobrazí se dialogové okno pro výběr operace, kterou chcete spustit. Jsou uvedeny všechny dostupné operace pro výběr.

  • Zde se objevuje mnoho operací. Operace jsou identické, až na verzi SOAP: CalculatorSoap používá SOAP verze 1.1, zatímco CalculatorSoap12 používá SOAP verze 1.2.
  • Verze v tomto scénáři nehraje roli, takže lze vybrat kteroukoli z nich.

    Vyberte SOAP Operavyvolání

  • Po výběru operace klikněte na OK.

    Potvrdit OperaVýběr

Krok 4: Při přidávání testovacího případu lze použít standardní aserce. Aserce, nazývané také kontrolní body nebo validační body, jsou popsány v následujícím tutoriálu.

Při vytváření testovacího případu lze přidat následující kontrolní body. Následující příklad vytvoří testovací případ bez povolených ověřovacích bodů.

Standard SoapUI Tvrzení

  1. Ověří, zda je odpověď typu SOAP po spuštění testu.
  2. Ověřuje, zda je schéma odpovědi platné.
  3. Ověřuje, zda odpověď SOAP obsahuje element FAULT.

Krok 5: Po vytvoření testovacího případu se zobrazí XML požadavku, jak je znázorněno níže. Struktura XML je vysvětlena ve snímku.

Struktura XML požadavku

Krok 6: Počet kroků testu se nyní zvýší na jeden, protože byl přidán jeden krok. Přidání kroků zátěžového a bezpečnostního testu automaticky zvýší jejich příslušné čítače.

Přírůstek čítače kroků testu

Ruční odeslání požadavku a načtení odpovědi v SoapUI

Krok 1: Níže uvedený příklad sčítá dvě celá čísla.

  • intA — 5
  • intB — 5

Další:

  1. Zadejte tyto vstupy místo otazníků v XML požadavku.
  2. Po aktualizaci odpovídajících značek XML klikněte na Odeslat žádost pro kontrolu odpovědi.

Ruční odeslání požadavku s intA a intB

Krok 2: Po odeslání požadavku je webová služba zpracována webovým serverem a je vrácena odpověď, jak je znázorněno níže.

Odpověď potvrzuje, že 5 plus 5 se rovná 10.

Odpověď SOAP zobrazující výsledek přidání

Principy panelů odpovědí a protokolů SOAP

Jak již bylo zmíněno, zprávy SOAP jsou přenášeny přes HTTP. Kontrola zpráv RAW pomáhá objasnit, jak jsou požadavky a odpovědi SOAP přenášeny přes HTTP.

Krok 1: Klepněte na tlačítko RAW záložka SoapUI okno požadavku.

  1. Požadavek je odeslán na webový server, takže se použije metoda HTTP POST.
  2. SOAP požadavek se odesílá v těle HTTP zprávy.

Záložka RAW požadavku SOAP

Krok 2: Nyní klikněte na tlačítko RAW záložka SoapUI okno odpovědi, abyste pochopili, jak je odpověď doručena přes HTTP.

  1. Po zpracování požadavku se zobrazí kód odpovědi HTTP (200), což značí úspěch.
  2. Odpověď SOAP je vrácena klientovi v těle zprávy HTTP.

SOAP odpověď RAW karta s HTTP 200

Níže uvedená tabulka shrnuje běžné kódy odpovědí HTTP pro rychlé ladění.

HTTP Code Description
1xx Informační: Žádost přijata, zpracování pokračuje.
2xx Úspěch: Akce byla úspěšně přijata, pochopena a akceptována.
3xx přesměrování: K dokončení žádosti je nutná další akce.
4xx Chyba klienta: Požadavek obsahuje chybnou syntaxi nebo jej nelze splnit.
5xx Chyba serveru: Serveru se nepodařilo splnit zdánlivě platný požadavek.

Krok 3: Okno Testovací případ také zobrazuje další metadata pro požadavek a odpověď.

Metadata okna testovacího případu

  1. Označuje, že v odesílaném požadavku NENÍ hlavička.
  2. Označuje, že v požadavku odesílaném na webový server NEJSOU ŽÁDNÉ přílohy.
  3. Označuje 10 položek záhlaví v odpovědi, které lze zobrazit po kliknutí.
  4. Označuje, že v odpovědi nejsou žádné přílohy.

Podokno protokolů

Panel protokolů zobrazuje veškeré informace vyměňované mezi klientem a serverem. Níže jsou popsány nejčastěji používané záložky protokolů.

SoapUI Záložky podokna protokolů

SoapUI Log: Zobrazuje informace o odpovědi z webového serveru. Stejná data jsou uložena v souboru soapui.log uvnitř SoapUI adresář bin.

SoapUI Záložka protokolu

HTTP protokol: Zobrazuje všechny přenosy HTTP paketů. Všechny informace viditelné v zobrazení RAW jsou také zaznamenány v protokolu HTTP.

Záložka protokolu HTTP

Záznam chyb: Zobrazuje všechny chyby, ke kterým došlo během celé relace projektu. Stejné informace jsou uloženy v souboru soapui-errors.log uvnitř SoapUI adresář bin.

Záznam paměti: Sleduje spotřebu paměti a zobrazuje ji jako graf. To je užitečné při spouštění operací náročných na paměť.

Záložka Záznam paměti

Po zavedení testovací sady, testovacího případu a testovacího kroku a úspěšném přijetí odpovědi je dalším krokem ověření odpovědi. Typy assercí jsou popsány v následujícím tutoriálu.

Nejčastější dotazy

Testovací sada je kontejner, který seskupuje související testovací případy uvnitř SoapUI Projekt. Testovací případ je jeden scénář, který obsahuje jeden nebo více testovacích kroků, jako je například požadavek SOAP, požadavek REST nebo asserce.

Ano. SoapUI podporuje testování SOAP i REST. Při vytváření nového projektu zvolte Nový projekt SOAP pro služby založené na WSDL nebo Nový projekt REST pro rozhraní REST API. Mezi kroky testování patří požadavek na test REST, požadavek JDBC a Groovy Skript.

Otevřete testovací sadu a klikněte na zelené tlačítko přehrávání. SoapUI spustí všechny testovací případy v pořadí, v jakém se objeví. Paralelní nebo sekvenční provádění můžete také nakonfigurovat na kartě Vlastnosti testovací sady.

Ano. Použijte krok Vlastnosti, krok Převod vlastností nebo krok Zdroj dat (SoapUI Pro) pro řízení více vstupů prostřednictvím stejného testovacího případu. To je užitečné pro testování řízené daty napříč mnoha kombinacemi vstupů.

Asistenti umělé inteligence dokáží číst specifikaci WSDL nebo OpenAPI a navrhovat realistické kombinace vstupů, hraniční případy a vzory assercí. Tyto návrhy lze exportovat jako SoapUI XML nebo Groovy skripty, což snižuje manuální úsilí při vytváření rozsáhlých testovacích sad.

Ano. Nástroje umělé inteligence dokáží analyzovat SoapUI Záznamy v protokolech a protokolech HTTP, clustery opakovaných chyb a zvýraznění pravděpodobných příčin, jako jsou neshody schémat nebo selhání ověřování. To urychluje třídění během regresních cyklů a velkých nočních běhů.

Shrňte tento příspěvek takto: