Hoe maak je een testsuite en testcase aan? SoapUI
โก Slimme samenvatting
Een maken SoapUI Project, testsuite en testcase maken gestructureerd testen van SOAP-webservices mogelijk. Deze handleiding legt de basisprincipes van het SOAP-protocol uit, zoals het importeren van WSDL-bestanden, het uitvoeren van verzoeken, het instellen van beweringen en het analyseren van responslogboeken voor betrouwbare functionele en regressietests.
Het SOAP-protocol begrijpen
Voordat u een maakt SoapUI Testcase: het is nuttig om de basisprincipes van het SOAP-protocol nog eens door te nemen. Een goed begrip van hoe SOAP-verzoeken en -reacties tussen systemen worden uitgewisseld, maakt het gebruik ervan eenvoudiger. SoapUI om ze effectief te testen.
SOAP staat voor Protocol voor eenvoudige objecttoegangHieronder volgen de belangrijkste eigenschappen van het SOAP-protocol:
- Het is een op XML gebaseerd protocol dat wordt gebruikt voor communicatie tussen twee verschillende systemen.
- Het is platform- en taalonafhankelijk. Een systeem ontwikkeld met behulp van Java kan communiceren met een applicatie die is ontwikkeld in .NET.
- SOAP-verzoeken en -antwoorden worden via HTTP verzonden.
Leer het SOAP-berichtformaat.
Een SOAP-bericht is een gewoon XML-document dat de volgende elementen bevat. Een bericht kan een verzoek of een antwoord zijn.

Nu de basisprincipes van SOAP op hun plaats zijn, is de volgende stap het bouwen van de SoapUI Projectstructuur, testsuites en testgevallen die nodig zijn om een โโbepaalde webservice te valideren. De onderstaande stappen beschrijven een SoapUI Voorbeeld van een project om een โโnieuw SOAP-project te maken.
Een SOAP-project maken in SoapUI
Het SOAP-project bevat de geรฏmporteerde WSDL-definitie, samen met alle gegenereerde voorbeeldverzoeken voor elke bewerking.
Stap 1: Afhankelijk van het projecttype importeert u het SOAP- of REST-protocol. In dit voorbeeld maken we een nieuw SOAP-project aan.
Stap 2: Gebruik het volgende SOAP-verzoek. URL: http://www.dneonline.com/calculator.asmx?wsdl
- Voer de projectnaam in.
- Voer het pad van het WSDL-verzoek in (in dit geval http://www.dneonline.com/calculator.asmx?wsdl).
- Klik OK.
Let op:
- Maak een voorbeeldverzoek voor alle bewerkingen: Genereert een voorbeeldverzoek voor elke bewerking in de WSDL. Standaard ingeschakeld wanneer het WSDL-adres wordt ingevoerd; kan worden uitgeschakeld indien niet nodig.
- Maak een testsuite aan voor de geรฏmporteerde WSDL: Voegt een toe SoapUI Testsuite binnen het project voor de geรฏmporteerde WSDL.
- Relatieve paden: Slaat alle bestanden op ten opzichte van het projectbestand voor eenvoudige overdraagbaarheid.
Stap 3: Na het aanmaken van het SOAP-project met de bovenstaande WSDL worden twee bewerkingen in het project geรฏmporteerd.
Stap 4: Vouw het eerste verzoek uit en klik met de rechtermuisknop. Toevoegen, dan klikken Nieuw verzoek.
Dan klikken OKHet SOAP-verzoek wordt weergegeven in XML-formaat.
- Voer waarden in voor intA en intB.
- Klik op de Verzenden knop.
- De XML-respons verschijnt in het rechterpaneel.
Waarom testcases maken in plaats van directe verzoeken?
Het is mogelijk om direct een verzoek voor รฉรฉn bewerking te versturen, maar die aanpak loopt al snel tegen beperkingen aan wanneer meerdere invoercombinaties getest moeten worden. Bijvoorbeeld, het overschakelen van 5+5 naar 4+4 vereist dat het verzoek telkens wordt aangepast. Een testsuite met testgevallen maakt het mogelijk om elk scenario herbruikbaar te houden zonder de oorspronkelijke bewerking te wijzigen.
Hoe maak je een testsuite aan in SoapUI
Een testsuite is een container die gerelateerde testgevallen groepeert. Volg de onderstaande stappen om er een te maken.
Stap 1) Klik met de rechtermuisknop op de hoofdmap van het project.
Maak binnen het project een testsuite aan door met de rechtermuisknop op de projectmap te klikken.
Stap 2) Voer de details van de testsuite in.
Voer de naam van de testsuite in en klik. OK.
Stap 3) Controleer de gemaakte testsuite.
De nieuwe testsuite verschijnt in het navigatievenster zoals hieronder weergegeven.
Stap 4) Open de testsuite.
Het venster Testsuite wordt in het rechterdeelvenster geopend. Omdat er nog geen testgevallen bestaan, blijven alle actieopties uitgeschakeld.
Hoe maak je een testcase aan in SoapUI
Testgevallen bevinden zich in een testsuite en groeperen de afzonderlijke teststappen die een webservice testen.
Stap 1: Binnen een testsuite kunt u meerdere tests maken door met de rechtermuisknop op de testsuite te klikken en te kiezen voor Nieuwe testcase.
Stap 2: Geef de naam op van de Testgeval en klik op OK.
Stap 3: De aangemaakte testcase heeft aanvankelijk nul stappen, zoals hieronder weergegeven.
Let op: De testcase wordt toegevoegd met nul teststappen voor elk testtype. Naarmate er stappen worden toegevoegd, worden de getallen tussen haakjes automatisch bijgewerkt.
Functionele teststappen horen thuis in Teststappen, prestatiestappen gaan naar Load Testen veiligheidscontroles vinden plaats onder Beveiligingstests.
Stap 4: Voeg verschillende teststaptypen in door met de rechtermuisknop te klikken. Teststappen en de juiste optie selecteren. Voor een REST-webservice selecteert u de optie 'REST-testverzoek' in plaats van een SOAP-verzoek.
Een teststap toevoegen in SoapUI
Voeg een teststap toe om het geรฏmporteerde SOAP-verzoek te valideren binnen de testcase.
Stap 1: Voeg een nieuwe stap van het type toe SOAP-verzoek zoals hieronder aangegeven.
Stap 2: Voer de stapnaam in en klik OK.
Stap 3: Er verschijnt een dialoogvenster waarin u de gewenste bewerking kunt selecteren. Alle beschikbare bewerkingen worden weergegeven.
- Hier verschijnen veel bewerkingen. De bewerkingen zijn identiek, afgezien van de SOAP-versie: CalculatorSoap gebruikt SOAP-versie 1.1, terwijl CalculatorSoap12 SOAP-versie 1.2 gebruikt.
- De versie maakt in dit scenario niet uit, dus beide opties zijn mogelijk.
- Nadat u de bewerking hebt geselecteerd, klikt u OK.
Stap 4: Bij het toevoegen van een testcase kunnen standaard beweringen worden toegepast. Beweringen, ook wel controlepunten of validatiepunten genoemd, worden in de volgende tutorial behandeld.
De volgende controlepunten kunnen worden toegevoegd tijdens het aanmaken van een testcase. Het onderstaande voorbeeld maakt een testcase aan zonder ingeschakelde validatiepunten.
- Controleert of het antwoordbericht na de testruns een SOAP-bericht is.
- Controleert of het responsschema geldig is.
- Controleert of het SOAP-antwoord een FAULT-element bevat.
Stap 5: Wanneer de testcase wordt aangemaakt, ziet de aanvraag-XML eruit zoals hieronder weergegeven. De structuur van de XML wordt uitgelegd in de schermafbeelding.
Stap 6: Het aantal teststappen is nu verhoogd naar รฉรฉn, omdat er een stap is toegevoegd. Het toevoegen van belasting- en beveiligingsteststappen zal de bijbehorende tellers automatisch verhogen.
Handmatig een verzoek verzenden en het antwoord lezen in SoapUI
Stap 1: Het onderstaande voorbeeld telt twee gehele getallen bij elkaar op.
- intA โ 5
- intB โ 5
Vervolg:
- Vervang de vraagtekens in de XML-aanvraag door deze waarden.
- Nadat u de bijbehorende XML-tags hebt bijgewerkt, klikt u op Aanvraag om het antwoord te controleren.
Stap 2: Nadat het verzoek is ingediend, wordt de webservice door de webserver verwerkt en wordt het antwoord teruggestuurd, zoals hieronder weergegeven.
Het antwoord bevestigt dat 5 plus 5 gelijk is aan 10.
Inzicht in de SOAP-respons- en logpanelen
Zoals eerder vermeld, worden SOAP-berichten via HTTP verzonden. Het inspecteren van de onbewerkte berichten helpt te verduidelijken hoe het SOAP-verzoek en -antwoord via HTTP worden overgedragen.
Stap 1: Klik op de RAW tab in de SoapUI aanvraagvenster.
- Het verzoek wordt naar de webserver verzonden, dus wordt de HTTP POST-methode gebruikt.
- Het SOAP-verzoek wordt verzonden in de body van het HTTP-bericht.
Stap 2: Klik nu op de RAW tab in de SoapUI Het responsvenster geeft inzicht in hoe de respons via HTTP wordt afgeleverd.
- Nadat het verzoek is verwerkt, wordt de HTTP-antwoordcode (200) weergegeven, wat aangeeft dat het gelukt is.
- Het SOAP-antwoord wordt teruggestuurd naar de client in de body van het HTTP-bericht.
De onderstaande tabel geeft een overzicht van veelvoorkomende HTTP-responscodes voor snelle foutopsporing.
| HTTP Code | Beschrijving |
|---|---|
| 1xx | informatief: Verzoek ontvangen, verwerking gaat verder. |
| 2xx | Succes: Actie succesvol ontvangen, begrepen en geaccepteerd. |
| 3xx | omleiding: Verdere actie is vereist om het verzoek af te ronden. |
| 4xx | Clientfout: Het verzoek bevat een onjuiste syntaxis of kan niet worden uitgevoerd. |
| 5xx | Serverfout: De server kon een ogenschijnlijk geldig verzoek niet verwerken. |
Stap 3: Het venster 'Testcase' toont ook aanvullende metadata voor het verzoek en het antwoord.
- Geeft aan dat er GEEN header in het verzonden verzoek zit.
- Geeft aan dat er GEEN bijlagen zijn in het verzoek dat naar de webserver wordt verzonden.
- Geeft aan dat er 10 koptekstitems in het antwoord aanwezig zijn, die zichtbaar worden na een klik.
- Geeft aan dat er geen bijlagen in het antwoordbericht zitten.
Logboekvenster
Het logvenster toont alle informatie die tussen de client en de server is uitgewisseld. De meest gebruikte logtabbladen worden hieronder beschreven.
SoapUI Log: Geeft responsinformatie van de webserver weer. Dezelfde gegevens worden opgeslagen in het soapui.log-bestand. SoapUI bin-directory.
HTTP-logboek: Toont alle HTTP-pakketoverdrachten. Alle informatie die zichtbaar is in de RAW-weergave wordt ook vastgelegd in het HTTP-logboek.
Foutlogboek: Toont alle fouten die tijdens de volledige projectsessie zijn opgetreden. Dezelfde informatie wordt opgeslagen in soapui-errors.log. SoapUI bin-directory.
Geheugenlogboek: Het programma bewaakt het geheugenverbruik en geeft dit weer in een grafiek. Dit is handig bij het uitvoeren van geheugenintensieve bewerkingen.
Met een testsuite, testcase en teststap op hun plaats en een succesvolle reactie ontvangen, is de volgende stap het valideren van die reactie. Assertietypen worden in de volgende tutorial behandeld.






























