Processor in JMeter: PreProcessor & PostProcessor

Een processor wordt gebruikt om de Samplers in hun scope te wijzigen.

Er zijn 2 soorten processors:

  1. Pre-processor
  2. Postprocessor

Voorverwerker:

Pre-processor voert een actie uit voordat Sampler-aanvraag doen.

Overweeg een eenvoudig voorbeeld: laten we zeggen dat u JMeter door de geteste website wilt laten 'spinnen', ontleden link (controleer alle links op de pagina) en opbrengst de HTML-code. U zou een actie, zoals 'HTML-linkparser', aan uw controller toevoegen voordat u een HTTP-verzoek maakt.

Postprocessor:

De postprocessor voert een actie uit na het maken van een Sampler Request.

Overweeg een eenvoudig voorbeeld: JMeter stuurt een HTTP-verzoek naar de te testen webserver (enz www.google.com ) en ontvang het antwoord. U wilt dat JMeter de test stopt als de serverreactie een fout is. U kunt de postprocessor gebruiken om bovenstaande taak als volgt uit te voeren:

Voorbeeld na processor

Deze zelfstudie laat u stapsgewijze instructies zien voor het gebruik van de postprocessor in JMeter. Laten we beginnen met het eenvoudige testscript.

  1. JMeter stuurt een HTTP-verzoek naar de te testen webserver www.google.com .
  2. JMeter krijgt een reactie van de Google-server.
  3. Als de serverreactie is een fout , JMeter zal stop de test.
  4. Als serverreactie Oke (geen fout), JMeter zal doorgaan met de test.

Hier is de routekaart van dit voorbeeld:

Voorwaarde:

We hergebruiken de Stap 1 en Stap 2 in artikel JMeter-prestatietests .

Stap 1) Discussiegroep toevoegen

Klik met de rechtermuisknop op de Testplan en voeg een nieuwe threadgroep toe: Toevoegen -> Discussies (Gebruikers) -> Discussiegroep

Maar voer in het configuratiescherm van Thread Group als volgt Thread Properties in:

Met deze instelling kan JMeter creëren 10 gebruikersverzoek om http://www.google.com 10 keer.

Stap 2) JMeter-elementen toevoegen

  • Standaard HTTP-verzoek toevoegen
  • HTTP-verzoek toevoegen

We maken nog steeds een JMeter-verzoek http://www.google.com naar Google-server.

Stap 3) Post-processorelement toevoegen

Klik met de rechtermuisknop Discussiegroep -> Toevoegen -> Postprocessor -> Resultaat Status Actie Handler

Resultaat Status Actie Handler stelt de gebruiker in staat om de thread of de hele test te stoppen als het gebruikersverzoek is mislukt.

In Resultaat Status Actie Handvat Paneel, kies Stop nu met testen . Deze selectie stopt de test als JMeter de fout krijgt van de serverreactie.

Stap 4) Configureer het HTTP-verzoek

Open het HTTP-verzoekpaneel. Binnenkomen 'abc' naar het veld Pad.

Wanneer je binnenkomt 'abc' naar het pad, zal JMeter een URL-verzoek naar de Google-server maken: http://www.google.com/abc. Deze URL bestaat niet op de Google-server. Het is mis URL-verzoek, zodat de Google-server een fout retourneert.

Stap 5) Voeg de resultaatstructuur van de weergave toe

Klik met de rechtermuisknop Discussiegroep -> Toevoegen -> Luisteraar -> Resultatenboom weergeven

Stap 6) Test uitvoeren

Selecteer Bekijk resultatenboom, druk op de knop Uitvoeren op de menubalk. Je ziet de fout reactie van Google-server en de test stopt zonder het voltooien van 100 threads.

Ga nu terug naar stap 4, open het HTTP-verzoekvenster, voer ' in kalender ' naar het paneel. Het zorgt ervoor dat JMeter een URL-verzoek maakt https://calendar.google.com/calendar/u/0/r naar de Google-server. Dit is juist URL-verzoek zodat de Google-server OK retourneert (geen fout).

Selecteer Bekijk resultatenboom, druk op de knop Uitvoeren op de menubalk. Je ziet de Oke antwoord van de Google-server en de test gaat door totdat alle 100 threads zijn voltooid.

Probleemoplossen:

Als u met het probleem wordt geconfronteerd terwijl u het bovenstaande scenario uitvoert, doet u het volgende:

  1. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  2. Open een nieuwe instantie van Jmeter
  3. Open de ProcessorTestPlan.jmx in Jmeter
  4. Dubbelklik op Discussiegroep -> Resultatenstructuur weergeven
  5. Voer de test uit