Beweringen in JMeterAntwoordbewering met voorbeelden

โšก Slimme samenvatting

Beweringen in JMeter Controleer of een te testen server de verwachte respons retourneert, zodat prestatietesters tijdens de belastingstest de inhoud van de respons, statuscodes, responstijd, bytegrootte en documentindeling kunnen valideren op nauwkeurigheid.

  • โœ… Reactiebewering: Zoekt naar patronen in velden van het serverantwoord.
  • โ€‹ Bewering over de duur: Geeft een signaal af voor elke reactie die trager is dan de ingestelde limiet.
  • ???? Groottebewering: Controleert de grootte van het antwoord in bytes.
  • ๐Ÿงพ XML- en HTML-assertie: Valideer de syntaxis van het XML- of HTML-antwoord.
  • ๐Ÿค– AI-assistentie: AI doet suggesties voor beweringen en markeert afwijkingen in de resultaten.

Beweringen in JMeter

Wat is een bewering?

Asserties helpen te verifiรซren dat de server die u test de juiste resultaten retourneert. verwacht resultaten.

Soorten beweringen

Hieronder staan โ€‹โ€‹enkele veelgebruikte beweringen in JMeter:

  • Reactie bewering
  • Duur bewering
  • Grootte bewering
  • XML-bevestiging
  • HTML-bevestiging
  • Stappen om Response Assertion te gebruiken

Reactie bewering

Reactie bewering

Met de antwoordbevestiging kunt u patroontekenreeksen toevoegen die u kunt vergelijken met verschillende velden van het serverantwoord.

U stuurt bijvoorbeeld een gebruikersverzoek naar http://www.google.com en ontvang het antwoord van de server. Een Response Assertion kan controleren of het antwoord correct is. bevat een verwachte patroonreeks (bijv. "OK").

Duur bewering

De Duration Assertion test of elk serverantwoord binnen een bepaalde tijd wordt ontvangen. gegeven bedrag van tijd. Elke reactie die langer duurt dan de opgegeven milliseconden wordt als mislukt gemarkeerd.

Er wordt bijvoorbeeld een gebruikersverzoek verzonden naar www.google.com by JMeter en krijg binnen een reactie verwacht tijd 5 ms dan Testgeval geslaagd, anders is de testcase mislukt.

Duur bewering

Grootte bewering

De Size Assertion-test controleert of elk serverantwoord het verwachte aantal bytes bevat. U kunt de grootte specificeren als gelijk aan, groter dan, kleiner dan of niet gelijk aan een bepaald aantal bytes.

JMeter stuurt een gebruikersverzoek naar www.google.com en ontvangt een antwoordpakket dat kleiner is dan de verwacht 5000 bytes, dus de test slaagt; anders mislukt hij.

XML-bevestiging

De XML Bewering test dat de antwoordgegevens bestaan โ€‹โ€‹uit een formeel correct XML-document.

XML-bevestiging

HTML-bevestiging

Met de HTML Assertion kan de gebruiker de HTML-syntaxis van de antwoordgegevens controleren. Dit betekent dat de antwoordgegevens moeten voldoen aan de HTML-syntaxis.

HTML-bevestiging

Stappen om Response Assertion te gebruiken

We gaan verder met het script dat we eerder hebben ontwikkeld zelfstudie.

In deze test gebruiken we Reactie bewering om het antwoordpakket van www.google.com te vergelijken, komt overeen met uw verwachte reeks.

Hier is de roadmap voor deze proef:

Stappen om responsbevestiging te gebruiken

Met het controlepaneel voor de bevestiging van antwoorden kunt u patroontekenreeksen toevoegen die u kunt vergelijken met verschillende velden van het antwoord.

Stap 1) Voeg antwoordbevestiging toe

Rechts-klik Discussiegroep -> Toevoegen -> Beweringen -> Reactie bewering

Antwoordbevestiging toevoegen

Het deelvenster Antwoordbevestiging wordt weergegeven zoals in onderstaande afbeelding:

Antwoordbevestiging toevoegen

Stap 2) Patroon toevoegen om te testen

Wanneer u een verzoek verzendt naar Google server, het kan zijn dat er iets wordt teruggestuurd Reactiecode als volgt:

  • 404: Serverfout
  • 200: Server OK
  • 302De webserver leidt je door naar andere pagina's. Dit gebeurt meestal wanneer je google.com bezoekt vanuit een land buiten de VS. Google wordt doorgestuurd naar een landspecifieke website. Zoals hieronder weergegeven, wordt google.com doorgestuurd naar google.co.in voor Indiase gebruikers.

Voeg patroon toe om te testen

Stel dat u wilt verifiรซren dat de antwoordcode van de webserver google.com een โ€‹โ€‹patroon bevat 302,

On Reactieveld om te testen, kies Reactie Code,

Klik in het responsbevestigingspaneel Toevoegen -> een nieuw blanco invoerscherm -> voer 302 in in Te testen patroon.

Patroon toevoegen aan test

Stap 3) Voeg beweringsresultaten toe

Klik met de rechtermuisknop op Discussiegroep, Toevoegen -> Luisteraar -> Bewering resultaten

Voeg beweringsresultaten toe

Voeg beweringsresultaten toe

Stap 4) Voer uw test uit

Klik op Discussiegroep -> Bewering Resultaat

Wanneer u klaar bent om een โ€‹โ€‹test uit te voeren, klikt u op de loop knop op de menubalk, of sneltoets Ctrl + R.

Het testresultaat wordt weergegeven in het paneel 'Assertion Results'. Als Google server Reactiecode bevat het patroon 302, de testcase is geslaagd. Het bericht wordt dan als volgt weergegeven:

Voer de test uit

Terug naar het Response Assertion Panel, waar u het te testen patroon wijzigt van 302 naar 500.

Voer de test uit

Omdat Google De serverresponscode bevat dit patroon niet; u zult de testcase bekijken. Mislukt als volgt:

Voer de test uit

Problemen oplossen

Als u dit probleem ondervindt tijdens het uitvoeren van de bovenstaande scenario's, doet u het volgende:

  1. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  2. Open een nieuw exemplaar van JMeter
  3. Open de BeweringTestPlan.jmx in JMeter
  4. Klik op Discussiegroep -> Beweringresultaat
  5. Voer de test uit

Veelgestelde vragen

Een bewering valideert een reactie als geslaagd of mislukt; een listener geeft alleen de resultaten weer.

Ja. De JSON-assertie controleert waarden in een JSON-antwoord, net zoals de XML-assertie XML valideert.

Elke bewering analyseert het antwoord en brengt extra CPU-kosten met zich mee, dus beperk beweringen tot kritieke onderdelen.

Ja. AI-assistenten lezen een voorbeeldantwoord en genereren het bijbehorende antwoord. JMeter bewering automatisch.

AI signaleert afwijkingen in responscodes of timing die door vaste controlemechanismen mogelijk over het hoofd worden gezien.

Vat dit bericht samen met: