Inzicht in het SOAP-protocol
Voordat we een SOAPUI-testcase maken, moeten we de basisprincipes van het SOAP-protocol begrijpen. Dit zal u helpen de SOAP-gebruikersinterface te gebruiken om SOAP-verzoeken en -respons effectief te testen.
SOAP staat voor S uitvoe O bject EEN TOEGANG P rotocol. Hieronder staan de eigenschappen van een SOAP-protocol.
- Het is een op XML gebaseerd protocol voor communicatie tussen twee verschillende systemen.
- Het is een platform- en taalonafhankelijk. Daarom kan een systeem dat is ontwikkeld met Java, communiceren met een systeem dat is ontwikkeld in.NET.
- SOAP-verzoeken / reacties worden via HTTP getransporteerd.
In deze testhandleiding leert u:
- Leer het SOAP-bericht FORMAT
- Creëer een project
- Test Suite maken
- Testcase maken
- Teststap invoegen
- Inzicht in de Soap Response & Log Panels
- Verzoek handmatig verzenden en antwoord lezen
Leer het SOAP-bericht FORMAT
Een SOAP-bericht is een gewoon XML-document dat de volgende elementen bevat. Bericht kan een verzoekbericht of een antwoordbericht zijn.
Na het opzetten van de werkruimte die we in de vorige tutorial hadden uitgevoerd, moeten we projecten, testsuites, testcases maken om een bepaalde webservice te testen. Laten we de stappen begrijpen die nodig zijn om hetzelfde te doen.
Creëer een project
Stap 1: Nu, afhankelijk van het project, moeten we het SOAP / REST-protocol importeren. We zullen een nieuw SOAP-project maken.
Stap 2: We zullen gebruik maken van het volgende SOAP-verzoek 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
Notitie:
- Voorbeeldaanvraag maken voor alle bewerkingen? Het creëert een voorbeeldverzoek voor alle beschikbare bewerkingen in de opgegeven WSDL. Zodra je het WSDL-adres invoert, wordt deze optie automatisch aangevinkt. U kunt het vinkje verwijderen.
- Maak een testsuite voor de geïmporteerde WSDL: hiermee maakt u een testsuite binnen het project voor de geïmporteerde WSDL.
- Relatieve paden : het stelt de gebruiker in staat om alle bestanden ten opzichte van het projectbestand op te slaan.
Stap 3: Na het maken van het SOAP-project met de bovengenoemde WSDL, kunnen we zien dat er twee bewerkingen zijn die 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 zal het SOAP-verzoek weergeven in de XML-indeling
- Voer de 'intA' en 'intB' in
- Klik op de verzendknop
- De antwoord-XML wordt aan de rechterkant weergegeven.
U vraagt zich misschien af waarom testcases maken? Wanneer u Webservice hier direct kunt testen
Welnu, u kunt een verzoek indienen voor één operatie. Hoe zit het met anderen? Hoeveel combinaties van invoer voor toevoegingen kunt u doen met deze bewerking ? U moet het verzoek voor elke combinatie bewerken.
Bijvoorbeeld: als u wilt optellen van 4 en 4 in plaats van 5 en 5
… U moet de bewerking opnieuw bewerken. Men moet dus een testsuite / cases maken om alle mogelijke scenario's te laten testen zonder de bewerking zelf rechtstreeks te hoeven bewerken.Test Suite maken
Stap 1: Binnen het project kunnen testers een testsuite maken door met de rechtermuisknop op de root van het project te klikken.
Stap 2: We moeten de naam van de testsuite invoeren en op OK drukken.
Stap 3: De gemaakte testsuite wordt weergegeven in het navigatievenster zoals hieronder weergegeven.
Stap 4: Het venster Test Suite wordt geopend in het rechterdeelvenster. Zoals we zojuist hebben gemaakt, zijn er GEEN testcases. Daarom zijn alle opties uitgeschakeld.
Testcase maken
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: Specificeer de naam van de testcase en klik op 'OK'.
Stap 3: De gemaakte testcase heeft nul stappen, zoals hieronder weergegeven.
Opmerking : we kunnen zien dat de testcase is toegevoegd met nul teststappen voor alle soorten beschikbare tests. Bij het toevoegen van de teststappen zouden de cijfers in de haakjes automatisch veranderen.
De functionele teststap zou in 'Teststappen' moeten gaan, terwijl een prestatieteststap in 'Load Test' zou moeten gaan en een beveiligingsteststap zou in 'beveiligingstests' moeten gaan.
Stap 4: We kunnen verschillende teststappen invoegen door met de rechtermuisknop op teststappen te klikken en een geschikte teststap te selecteren, zoals hieronder weergegeven. Dus als u een REST-webservice zou testen, zou u het REST-testverzoek selecteren.
Teststap invoegen
Laten we nu een teststap toevoegen om het geïmporteerde SOAP-verzoek te valideren.
Stap 1: Voeg een nieuwe stap 'SOAP-aanvraag' toe zoals hieronder weergegeven.
Stap 2: Voer de stapnaam in en klik op OK.
Stap 3: Door op 'OK' te klikken, verschijnt er een dialoogvenster om de op te roepen bewerking te selecteren. Alle bewerkingen worden weergegeven en de gebruiker kan de bewerking selecteren die ze willen aanroepen.
- Er zijn veel bewerkingen die worden vermeld. De bewerkingen zijn hetzelfde, behalve de gebruikte SOAP-versie.
CalculatorSoap - gebruikt SOAP-versie 1.1 terwijl,
CalculatorSoap12 - gebruikt SOAP-versie 1.2
- De versie maakt in deze context voor ons niet uit. Daarom kunt u degene van uw keuze selecteren.
- Klik bij het selecteren van de bewerking op 'Ok'
Stap 4: Bij het toevoegen van een testcase kunnen we standaard assertions toevoegen. Beweringen, ook wel controlepunten / validatiepunten genoemd, die we in de volgende tutorial in detail zullen behandelen.
We kunnen de volgende checkpoints / beweringen 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
- Verifieert of het antwoordbericht SOAP is, bij het uitvoeren van de test.
- Verifieert of het reactieschema geldig is.
- Controleert of het SOAP-antwoord FAULT bevat.
Stap 5: Bij het aanmaken van de testcase wordt de aanvraag-XML hieronder weergegeven. De structuur van de XML wordt uitgelegd in de onderstaande momentopname.
Stap 6: Het aantal teststappen wordt nu opgehoogd tot één, aangezien we zojuist een teststap hebben toegevoegd. Evenzo zou het corresponderende aantal bij het toevoegen van de laad- en beveiligingsteststap automatisch worden verhoogd op basis van het aantal toegevoegde stappen.
Verzoek handmatig verzenden en antwoord lezen
Stap 1: We willen graag twee Integer-getallen toevoegen.
- intA - 5
- intB - 5
De volgende,
- We moeten deze invoer invoeren in plaats van het vraagteken dat als verzoek-XML wordt verzonden.
- Na het invoeren van die waarden in de corresponderende XML-tags, 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 een reactie teruggestuurd zoals hieronder weergegeven.
Door het antwoord te lezen, kunnen we concluderen dat 5 plus 5 10 is.
Inzicht in de Soap Response & Log Panels
Zoals uitgelegd aan het begin van deze tutorial, worden de SOAP-berichten getransporteerd via het HTTP-protocol. Laten we eens kijken naar de RAW-berichten. Dit zal ons helpen te leren hoe het SOAP-verzoek en -antwoord door HTTP werden getransporteerd.
Stap 1: Klik op het tabblad 'RAW' in beide SOAP-UI-verzoekvensters.
- Het verzoek wordt naar de webserver gepost. Daarom wordt de POST-methode van Http gebruikt.
- Het SOAP-verzoek wordt getransporteerd in de hoofdtekst van het Http-bericht.
Stap 2: Klik nu op het tabblad 'RAW' in het SOAP-UI-antwoordvenster om te begrijpen hoe het antwoord via HTTP wordt verzonden.
- Na het verwerken van het verzoek, wordt de Http-antwoordcode (200) weergegeven, wat betekent dat het een succes is. De webserver heeft het met succes 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 van de webserver is ontvangen.
HTTP-code | Omschrijving |
1xx: | Informatief - Dit betekent dat een verzoek is ontvangen en dat het proces wordt voortgezet. |
2xx: | Succes - De actie is met succes ontvangen, begrepen en geaccepteerd. |
3xx: | Omleiding - Dit betekent dat er verdere actie moet worden ondernomen om het verzoek te voltooien. |
4xx: | Clientfout - Dit betekent dat het verzoek een slechte syntaxis bevat of niet kan worden uitgevoerd |
5xx: | Serverfout - De server kon een ogenschijnlijk geldig verzoek niet uitvoeren |
Stap 3: Laten we de andere informatie begrijpen die wordt weergegeven in het testcase-venster.
- Vertegenwoordig GEEN header in het verzoek dat wordt verzonden
- Vertegenwoordigt GEEN bijlagen in het verzoek dat naar de webserver wordt verzonden.
- Vertegenwoordigt 10 header-informatie en dezelfde wordt weergegeven door erop te klikken.
- Geeft aan dat er geen bijlagen van het antwoordbericht zijn.
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 zullen de meest gebruikte logpanelen bespreken bij het werken met SOAP-UI.
SoapUI-logboek - Geeft de responsinformatie 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 - Geeft alle HTTP-pakketoverdracht weer. Alle informatie in 'RAW' wordt weergegeven in het HTTP-logboek.
Foutenlogboek - Foutenlogboek geeft alle fouten weer die we tijdens de hele projectsessie zijn tegengekomen. Dezelfde informatie is beschikbaar in 'soapui-errors.log' aanwezig in de 'bin'-map van de SOAP UI-geïnstalleerde locatie.
Geheugenlogboek - Dit tabblad controleert het geheugengebruik en geeft het weer in de vorm van de onderstaande tabel. Het is erg handig wanneer er een geheugenintensieve operatie wordt uitgevoerd.
Nu we een testsuite, testcase, teststap hebben gemaakt en een reactie hebben gekregen, is de volgende stap het valideren van de reactie. In de volgende tutorial zullen we soorten beweringen behandelen.