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.

  • ???? SOAP Foundation: SOAP is een op XML gebaseerd, platformonafhankelijk protocol dat via HTTP wordt verzonden en berichten uitwisselt tussen verschillende systemen.
  • ๐Ÿ“ Projectcreatie: Importeer de WSDL in een nieuw bestand. SoapUI SOAP-project om automatisch voorbeeldverzoeken te genereren voor elke bewerking.
  • ๐Ÿ—‚๏ธ Testsuite-configuratie: Klik met de rechtermuisknop op de projectmap om een โ€‹โ€‹testsuite toe te voegen waarmee gerelateerde testgevallen worden gegroepeerd voor een georganiseerde uitvoering.
  • ๐Ÿงช Testcase stappen: Voeg stappen voor SOAP-aanvragen toe, kies de doelbewerking en configureer standaardcontroles zoals schemaconformiteit en SOAP-foutcontroles.
  • ๐Ÿ“Š Reactie-inspectie: Gebruik het tabblad RAW en de logvensters (SoapUI Logboeken (HTTP-logboek, foutenlogboek, geheugenlogboek) om HTTP-statuscodes te valideren en problemen met verzoeken op te lossen.

Hoe maak je een testsuite en testcase aan? SoapUI

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.

SOAP-berichtFORMAAT
SOAP-berichtindeling

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.

Een nieuw SOAP-project maken

Stap 2: Gebruik het volgende SOAP-verzoek. URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Voer de projectnaam in.
  2. Voer het pad van het WSDL-verzoek in (in dit geval http://www.dneonline.com/calculator.asmx?wsdl).
  3. Klik OK.

Voer de SOAP-projectnaam en het WSDL-pad in.

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.

Geรฏmporteerd SOAP-project Operaties

Stap 4: Vouw het eerste verzoek uit en klik met de rechtermuisknop. Toevoegen, dan klikken Nieuw verzoek.

Nieuw verzoek toevoegen aan SOAP-project

Dan klikken OKHet SOAP-verzoek wordt weergegeven in XML-formaat.

XML-formaat voor SOAP-verzoeken

  1. Voer waarden in voor intA en intB.
  2. Klik op de Verzenden knop.
  3. De XML-respons verschijnt in het rechterpaneel.

Dien een SOAP-verzoek in en bekijk het antwoord.

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.

Maak een testsuite aan in SoapUI - Rechtsklikken op project

Stap 2) Voer de details van de testsuite in.

Voer de naam van de testsuite in en klik. OK.

Voer de naam van de testsuite in

Stap 3) Controleer de gemaakte testsuite.

De nieuwe testsuite verschijnt in het navigatievenster zoals hieronder weergegeven.

Controleer de gemaakte testsuite

Stap 4) Open de testsuite.

Het venster Testsuite wordt in het rechterdeelvenster geopend. Omdat er nog geen testgevallen bestaan, blijven alle actieopties uitgeschakeld.

Open een leeg testsuitevenster

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.

Een nieuwe testcase maken in SoapUI

Stap 2: Geef de naam op van de Testgeval en klik op OK.

Voer de naam van de testcase in

Stap 3: De aangemaakte testcase heeft aanvankelijk nul stappen, zoals hieronder weergegeven.

Testgeval met nul stappen

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.

Teststaptypen invoegen

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.

Voeg een teststap voor SOAP-verzoeken toe

Stap 2: Voer de stapnaam in en klik OK.

Voer de naam van de teststap in

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.

    Selecteer SOAP Operatie om aan te roepen

  • Nadat u de bewerking hebt geselecteerd, klikt u OK.

    Bevestigen Operaselectie

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.

Standaard SoapUI Beweringen

  1. Controleert of het antwoordbericht na de testruns een SOAP-bericht is.
  2. Controleert of het responsschema geldig is.
  3. 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.

XML-structuur van het verzoek

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.

Teststapteller

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:

  1. Vervang de vraagtekens in de XML-aanvraag door deze waarden.
  2. Nadat u de bijbehorende XML-tags hebt bijgewerkt, klikt u op Aanvraag om het antwoord te controleren.

Handmatig een verzoek verzenden met intA en intB

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.

SOAP-antwoord met optelresultaat

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.

  1. Het verzoek wordt naar de webserver verzonden, dus wordt de HTTP POST-methode gebruikt.
  2. Het SOAP-verzoek wordt verzonden in de body van het HTTP-bericht.

SOAP-verzoek RAW-tabblad

Stap 2: Klik nu op de RAW tab in de SoapUI Het responsvenster geeft inzicht in hoe de respons via HTTP wordt afgeleverd.

  1. Nadat het verzoek is verwerkt, wordt de HTTP-antwoordcode (200) weergegeven, wat aangeeft dat het gelukt is.
  2. Het SOAP-antwoord wordt teruggestuurd naar de client in de body van het HTTP-bericht.

SOAP-antwoord RAW-tabblad met HTTP 200

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.

Metagegevens van het testcasevenster

  1. Geeft aan dat er GEEN header in het verzonden verzoek zit.
  2. Geeft aan dat er GEEN bijlagen zijn in het verzoek dat naar de webserver wordt verzonden.
  3. Geeft aan dat er 10 koptekstitems in het antwoord aanwezig zijn, die zichtbaar worden na een klik.
  4. 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 Tabbladen van het logboekvenster

SoapUI Log: Geeft responsinformatie van de webserver weer. Dezelfde gegevens worden opgeslagen in het soapui.log-bestand. SoapUI bin-directory.

SoapUI Logtabblad

HTTP-logboek: Toont alle HTTP-pakketoverdrachten. Alle informatie die zichtbaar is in de RAW-weergave wordt ook vastgelegd in het HTTP-logboek.

HTTP-logtabblad

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.

Geheugenlogtabblad

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.

Veelgestelde vragen

Een testsuite is een container die gerelateerde testgevallen groepeert. SoapUI Een testcase is een enkel scenario dat een of meer teststappen bevat, zoals een SOAP-verzoek, een REST-verzoek of beweringen.

Ja. SoapUI Ondersteunt zowel SOAP- als REST-testen. Kies bij het aanmaken van een nieuw project 'Nieuw SOAP-project' voor WSDL-gebaseerde services of 'Nieuw REST-project' voor REST API's. Teststappen omvatten REST-testverzoek, JDBC-verzoek en Groovy Script.

Open de testsuite en klik op de groene afspeelknop. SoapUI Voert alle testgevallen uit in de volgorde waarin ze verschijnen. U kunt parallelle of sequentiรซle uitvoering ook configureren onder het tabblad Testsuite-eigenschappen.

Ja. Gebruik de stap Eigenschappen, de stap Eigenschappenoverdracht of een stap Gegevensbron (SoapUI Pro) om meerdere inputs door dezelfde testcase te leiden. Dit is handig voor datagestuurde testen met veel verschillende inputcombinaties.

AI-assistenten kunnen een WSDL- of OpenAPI-specificatie lezen en realistische invoercombinaties, randgevallen en assertiepatronen voorstellen. Deze suggesties kunnen worden geรซxporteerd als SoapUI XML-of Groovy scripts, waardoor de handmatige inspanning bij het bouwen van grote testsuites wordt verminderd.

Ja. AI-tools kunnen dat analyseren. SoapUI Log- en HTTP-logboekvermeldingen groeperen terugkerende fouten en wijzen op mogelijke oorzaken zoals schema-inconsistenties of authenticatiefouten. Dit versnelt de probleemoplossing tijdens regressietests en grote nachtelijke tests.

Vat dit bericht samen met: