Hoe u een testsuite en testcase maakt in SoapUI
Het SOAP-protocol begrijpen
Voordat we een SOAPUI-testcase maken, moeten we de basisprincipes van het SOAP-protocol begrijpen. Dit zal u helpen de SOAP UI te gebruiken om SOAP-verzoeken en -reacties effectief te testen.
SOAP staat voor Protocol voor eenvoudige objecttoegang. Hieronder staan de eigenschappen van een SOAP-protocol.
- Het is een op XML gebaseerd protocol voor de communicatie tussen twee verschillende systemen.
- Het is platform- en taalonafhankelijk. Daarom is een systeem ontwikkeld met behulp van Java kan communiceren met een systeem ontwikkeld in.NET.
- SOAP-verzoeken/antwoorden worden via HTTP getransporteerd.
Leer het SOAP-berichtFORMAAT
Een SOAP-bericht is een gewoon XML-document met de volgende elementen. Bericht kan een verzoekbericht of een antwoordbericht zijn.

Na het opzetten van de werkruimte die we in de laatste tutorial hadden uitgevoerd, moeten we een SoapUI-projectstructuur, testsuites en testcases creëren om een bepaalde webservice te testen. Laten we een voorbeeld van een SoapUI-project begrijpen om een nieuw SOAP-project te maken.
Een SOAP-project maken
Stap 1) Afhankelijk van het project moeten we nu het SOAP/REST-protocol importeren. We zullen een nieuw SOAP-project maken.
Stap 2) Wij zullen gebruik maken van de volgende SOAP-aanvraag http://www.dneonline.com/calculator.asmx?wsdl
- Voer de projectnaam in
- Voer het pad van de WSDL-aanvraag in. In dit geval http://www.dneonline.com/calculator.asmx?wsdl
- klik op OK
Opmerking:
- Voorbeeldaanvraag maken voor alle bewerkingen? Het creëert een voorbeeldverzoek voor alle beschikbare bewerkingen in de gegeven WSDL. Zodra u het WSDL-adres invoert, wordt deze optie automatisch aangevinkt. U kunt het vinkje verwijderen.
- Maak een testsuite voor de geïmporteerde WSDL: Creëert een SoapUI-testsuite binnen het project voor de geïmporteerde WSDL.
- Relatieve paden: Hiermee kan de gebruiker alle bestanden relatief aan het projectbestand opslaan.
Stap 3) Wanneer u het SOAP-project met de hierboven genoemde WSDL aanmaakt, ziet u dat er twee bewerkingen in het project worden geïmporteerd.
Stap 4) Vouw het eerste verzoek uit en klik met de rechtermuisknop op 'Toevoegen'. Klik vervolgens op 'Nieuwe aanvraag'.
Klik vervolgens op 'OK'. Het toont het SOAP-verzoek in XML-formaat
- Voer de 'intA' en 'intB' in
- Klik op de verzendknop
- Het XML-antwoord wordt in het rechterdeelvenster weergegeven.
U vraagt zich misschien af waarom u testgevallen maakt? Wanneer u Webservice hier direct kunt testen…
Nou, je kunt een verzoek sturen voor één bewerking. En wat met andere? Hoeveel combinaties van invoer voor Additions kun je doen met deze bewerking? Je moet het verzoek voor elke combinatie bewerken.
Bijvoorbeeld: Als u wilt toevoegen van 4 en 4 in plaats van 5 en 5… Moet u de bewerking opnieuw bewerken. U moet dus een testsuite/cases maken om alle mogelijke scenario's te testen zonder de bewerking zelf rechtstreeks te hoeven bewerken.
Hoe u een testsuite maakt in SoapUI
Hieronder staan de stappen om Test Suite in SoapUI te maken:
Stap 1) Klik met de rechtermuisknop op de hoofdmap van het project
Binnen het project kunnen testers een testsuite maken door met de rechtermuisknop op de hoofdmap van het project te klikken.
Stap 2) Voer de details van de testsuite in
We moeten de naam van de testsuite invoeren en op OK drukken.
Stap 3) Controleer de gemaakte testsuite
De gemaakte testsuite wordt in het navigatievenster weergegeven zoals hieronder weergegeven.
Stap 4) Open de Testsuite
Het testsuitevenster wordt geopend in het rechterdeelvenster. Zoals we zojuist hebben gemaakt, zijn er GEEN SoapUI-testcases. Daarom zijn alle opties uitgeschakeld.
Hoe u een testcase maakt in SoapUI
Hier is een stapsgewijs proces voor het maken van een testcase in SoapUI:
Stap 1) Binnen een testsuite kunnen we meerdere tests maken door met de rechtermuisknop op de 'testsuite' te klikken en 'Nieuwe TestCase' te kiezen.
Stap 2) Geef de naam op van de Testgeval en klik op 'OK'.
Stap 3) De gemaakte testcase heeft nul stappen, zoals hieronder weergegeven.
Note: We kunnen zien dat de testcase is toegevoegd met nul teststappen voor alle soorten beschikbare tests. Bij het toevoegen van de teststappen zouden de getallen in de haakjes automatisch veranderen.
De functionele teststap moet in 'Teststappen' gaan, terwijl een prestatieteststap in 'Load Test' moet gaan en een beveiligingsteststap in 'beveiligingstests'.
Stap 4) We kunnen verschillende teststappen invoegen door met de rechtermuisknop op teststappen te klikken en een geschikte teststap te selecteren, zoals hieronder weergegeven. Als u dus een REST-webservice zou testen, selecteert u het REST-testverzoek.
Een teststap toevoegen in SoapUI
Laten we nu een teststap toevoegen om het geïmporteerde SOAP-testverzoek te valideren:
Stap 1) Voeg een nieuwe stap 'SOAP Request' toe, zoals hieronder weergegeven.
Stap 2) Voer de stapnaam in en klik op OK.
Stap 3) Na het klikken op 'OK' verschijnt er een dialoogvenster om de bewerking te selecteren die moet worden aangeroepen. Alle bewerkingen worden weergegeven en de gebruiker kan de bewerking selecteren die hij wil aanroepen.
- Er zijn veel operaties die zullen worden opgesomd. De OperaDe instellingen zijn hetzelfde, behalve de gebruikte SOAP-versie.CalculatorSoap – gebruikt SOAP-versie 1.1, terwijl CalculatorSoap12 – SOAP-versie 1.2 gebruikt
- In deze context doet de versie er voor ons niet toe. Daarom kunt u degene van uw keuze selecteren.
- Nadat u de bewerking hebt geselecteerd, klikt u op 'Ok'
Stap 4) Terwijl we een testcase toevoegen, kunnen we standaardbeweringen toevoegen. Beweringen, ook wel controlepunten/validatiepunten genoemd, zullen we in de volgende tutorial gedetailleerd behandelen.
We kunnen de volgende checkpoints/asserties toevoegen tijdens het maken van een testcase. Laten we een testcase maken met de optie, wat betekent dat we een teststap maken ZONDER een van de onderstaande validatiepunten
- Controleert of het antwoordbericht SOAP is, bij het uitvoeren van de test.
- Controleert of het antwoordschema geldig is.
- Controleert of het SOAP-antwoord FAULT bevat.
Stap 5) Bij het aanmaken van de testcase wordt hieronder de aanvraag-XML weergegeven. De structuur van de XML wordt uitgelegd in de onderstaande momentopname.
Stap 6) Het aantal teststappen wordt nu verhoogd naar één, omdat we zojuist één teststap hebben toegevoegd. Op dezelfde manier wordt bij het toevoegen van een stap voor belasting- en beveiligingstests het overeenkomstige aantal automatisch verhoogd op basis van het aantal toegevoegde stappen.
Verzoek handmatig verzenden en antwoord lezen in SoapUI
Stap 1) We willen graag twee gehele getallen toevoegen.
- intA – 5
- intB – 5
Vervolgens
- We moeten deze invoer invoeren in plaats van het vraagteken dat als verzoek-XML wordt verzonden.
- Nadat u deze waarden in de overeenkomstige XML-tags heeft ingevoerd, klikt u op de knop 'Verzoek indienen' om het antwoord te controleren.
Stap 2) Bij het indienen van een verzoek wordt het webserviceverzoek verwerkt door de webserver en stuurt een antwoord terug zoals hieronder weergegeven.
Door het antwoord te lezen, kunnen we concluderen dat 5 plus 5 10 is.
Inzicht in de Soap Response- en logpanelen
Zoals uitgelegd aan het begin van deze SoapUI-testtutorial, worden de SOAP-berichten getransporteerd via het HTTP-protocol. Laten we eens kijken naar de RAW-berichten. Dit zal ons helpen te achterhalen hoe het SOAP-verzoek en -antwoord via HTTP zijn getransporteerd.
Stap 1) Klik op het tabblad ‘RAW’ in beide SOAP-UI-aanvraagvensters.
- Het verzoek wordt op de webserver geplaatst. Daarom wordt de POST-methode van Http gebruikt.
- Het SOAP-verzoek wordt getransporteerd in de hoofdtekst van het Http-bericht.
Stap 2) Nu klik op het tabblad 'RAW' in het SOAP-UI-antwoordvenster om te begrijpen hoe het antwoord via HTTP wordt verzonden.
- Na verwerking van het verzoek wordt de Http-responscode (200) getoond, wat betekent dat het een succes is. De webserver heeft het succesvol verwerkt.
- Het SOAP-antwoord wordt teruggestuurd naar de client als onderdeel van de hoofdtekst van het HTTP-bericht.
Een snelle momentopname van de Http-responscodes voor eenvoudig begrip en foutopsporing. De onderstaande tabel helpt u bij het oplossen van problemen op basis van de HTTP-code die u van de webserver ontvangt.
HTTP-code | Beschrijving |
---|---|
1xx: | Informatief – Dit betekent dat er een verzoek is ontvangen en dat het proces wordt voortgezet. |
2xx: | Succes - De actie werd met succes ontvangen, begrepen en geaccepteerd. |
3xx: | Omleiding – Dit betekent dat verdere actie moet worden ondernomen om het verzoek af te ronden. |
4xx: | Klantfout – Dit betekent dat het verzoek een slechte syntaxis bevat of niet kan worden uitgevoerd |
5xx: | Serverfout - De server heeft een ogenschijnlijk geldig verzoek niet kunnen vervullen |
Stap 3) Laten we de overige informatie bekijken die in het testcasevenster wordt weergegeven.
- Vertegenwoordig GEEN header in het verzoek dat wordt verzonden
- Vertegenwoordigt GEEN bijlagen in het verzoek dat naar de webserver wordt verzonden.
- Geeft 10 header-informatie weer. Deze wordt weergegeven wanneer u erop klikt.
- Geeft aan dat er geen bijlagen zijn bij het antwoordbericht.
LOGS-PANEEL:
Het logboekvenster bevat volledige informatie over de transactie tussen de client en de server. Gebruikers kunnen de tabbladen van het logboekvenster zien, zoals hieronder weergegeven. We bespreken de meest gebruikte logvensters bij het werken met SOAP-UI.
SoapUI-logboek – Geeft de antwoordinformatie van de webserver weer. Dezelfde informatie wordt opgeslagen in het soapui.log-bestand van de SOAP-UI-geïnstalleerde map onder de map 'bin'.
HTTP-logboek – Toont alle HTTP-pakketoverdrachten. Alle informatie in 'RAW' wordt weergegeven in het HTTP-logboek.
Foutenlog – Het foutenlogboek toont alle fouten die we tijdens de gehele projectsessie zijn tegengekomen. Dezelfde informatie is beschikbaar in 'soapui-errors.log' in de map 'bin' van de geïnstalleerde locatie van de SOAP UI.
Geheugenlog – Dit tabblad controleert het geheugenverbruik en geeft het weer in de vorm van het onderstaande diagram. Het is erg handig wanneer er een geheugenintensieve bewerking wordt uitgevoerd.
Nu we een testsuite, testcase en teststap hebben gemaakt en een antwoord hebben gekregen, is de volgende stap het valideren van het antwoord. In de volgende tutorial zullen we de soorten beweringen behandelen.