Wat is een bewering?
Assertion-hulp verifieert dat uw server die wordt getest, de verwachte resultaten retourneert .
Soorten beweringen
Hieronder volgen enkele veelgebruikte beweringen in JMeter:
- Reactie bewering
- Duur bewering
- Grootte bewering
- XML-bewering
- HTML-bewering
- Stappen om Response Assertion te gebruiken
Reactie bewering
Met de antwoordverklaring kunt u patroonreeksen toevoegen om te vergelijken met verschillende velden van de serverreactie.
U stuurt bijvoorbeeld een gebruikersverzoek naar de website http://www.google.com en krijgt het antwoord van de server. U kunt Response Assertion gebruiken om te controleren of de serverreactie de verwachte patroontekenreeks bevat (bijv. "OK").
Duur bewering
De Duration Assertion test of elke serverreactie binnen een bepaalde tijd is ontvangen. Elke reactie die langer duurt dan het opgegeven aantal milliseconden (opgegeven door de gebruiker) wordt gemarkeerd als een mislukte reactie.
Een gebruikersverzoek wordt bijvoorbeeld door JMeter naar www.google.com gestuurd en krijgt een reactie binnen de verwachte tijd van 5 ms, vervolgens is de testcase geslaagd, anders is de testcase mislukt.
Grootte bewering
De Size Assertion test of elke serverreactie het verwachte aantal bytes bevat. U kunt specificeren dat de grootte gelijk is aan, groter dan, kleiner dan of niet gelijk is aan een bepaald aantal bytes.
JMeter stuurt een gebruikersverzoek naar www.google.com en krijgt een responspakket met een grootte kleiner dan de verwachte byte 5000 bytes per testcase. Anders is de testcase mislukt.
XML-bewering
De XML Assertion test of de responsgegevens bestaan uit een formeel correct XML-document.
HTML-bewering
Met de HTML Assertion kan de gebruiker de HTML-syntaxis van de antwoordgegevens controleren. Dit betekent dat de responsgegevens moeten voldoen aan de HTML-syntaxis.
Stappen om Response Assertion te gebruiken
We gaan verder met het script dat we in de eerdere tutorial hebben ontwikkeld.
In deze test gebruiken we Response Assertion om het responspakket van www.google.com te vergelijken met uw verwachte string.
Hier is de routekaart voor deze test:
Met het controlepaneel voor responsbevestiging kunt u patroonreeksen toevoegen om te vergelijken met verschillende velden van het antwoord.
Stap 1) Voeg antwoordverklaring toe
Klik met de rechtermuisknop op Discussiegroep -> Toevoegen -> Beweringen -> Antwoordbevestiging
Het deelvenster Response Assertion wordt weergegeven zoals in de onderstaande afbeelding:
Stap 2) Voeg patroon toe om te testen
Wanneer u een verzoek naar de Google-server verzendt, kan het een reactiecode retourneren , zoals hieronder:
- 404 : Serverfout
- 200 : Server OK
- 302 : Webserver leidt om naar andere pagina's. Dit gebeurt meestal wanneer u google.com opent vanuit een ander land dan de VS. Google verwijst door naar landspecifieke website. Zoals hieronder wordt getoond, verwijst google.com door naar google.co.in voor Indiase gebruikers.
Stel dat u wilt controleren of de antwoordcode van de webserver google.com patroon 302 bevat ,
Op Response Field to Test , kiest Response Code,
Klik in het Response Assertion-paneel op Toevoegen -> een nieuw leeg invoerscherm -> voer 302 in bij Te testen patroon.
Stap 3) Voeg beweringsresultaten toe
Klik met de rechtermuisknop op Discussiegroep, Toevoegen -> Luisteraar -> Bevestigingsresultaten
Stap 4) Voer uw test uit
Klik op Discussiegroep -> Bevestigingsresultaat
Als u klaar bent om een test uit te voeren, klikt u op de knop Uitvoeren op de menubalk of op de sneltoets Ctrl + R.
Het testresultaat wordt weergegeven in het deelvenster Assertion Results. Als de responscode van de Google-server het patroon 302 bevat , is de testcase geslaagd. U ziet het bericht als volgt worden weergegeven:
Nu terug naar het Response Assertion Panel, verander je het Pattern om te testen van 302 naar 500.
Omdat de responscode van de Google-server dit patroon niet bevat, ziet u de testcase Failed als volgt:
Probleemoplossen:
Als u het probleem tegenkomt terwijl u de bovenstaande scenario's uitvoert, doet u het volgende:
- Controleer of u verbinding maakt met internet via een proxy. Zo ja, verwijder de proxy.
- Open een nieuw exemplaar van JMeter
- Open de AssertionTestPlan.jmx in JMeter
- Klik op Discussiegroep -> Bevestigingsresultaat
- Voer de test uit