Processor in JMeter: PreProcessor & PostProcessor

En processor används för att modifiera Samplers i deras omfattning.

Det finns 2 typer av processorer:

  1. Förprocessor
  2. Postprocessor

Förprocessor

Förbehandlare utför någon åtgärd innan gör en begäran om provtagare.

Tänk på ett enkelt exempel: låt oss säga att du ville JMeter att "spindel" genom webbplatsen som testas, parse länk (kolla alla länkar på sidan) och avkastning HTML. Du skulle lägga till någon åtgärd som "HTML-länkparser" till din kontroller innan du skapar en HTTP-förfrågan.

Pre-processor

Postprocessor

Efterbehandlaren utför en åtgärd efter att ha gjort en Sampler-begäran.

Tänk på ett enkelt exempel: JMeter skickar en HTTP-förfrågan till webbservern som testas (etc www.google.com) och få svaret. Du vill JMeter för att stoppa testet om serversvaret är ett fel. Du kan använda efterbehandlaren för att utföra ovanstående uppgift enligt följande:

Efterbehandlare

Exempel på efterbehandlare

Denna handledning visar dig steg-för-steg-instruktioner om hur du använder Post-processor i JMeter. Låt oss börja med det enkla testskriptet.

  1. JMeter skickar en HTTP-förfrågan till webbservern som testas www.google.com.
  2. JMeter får ett svar från Googles server.
  3. Om serverns svar är ett fel, JMeter kommer stoppa testet.
  4. Om serversvar OK (inget fel), JMeter kommer fortsätta testet.

Här är färdplan av detta exempel:

Exempel på efterbehandlare

Förutsättning:

We återanvändning steg 1 och steg 2 i artikeln JMeter Prestandatester.

Steg 1) Lägg till trådgrupp

Högerklicka på Testplan och lägg till en ny trådgrupp: Lägg till -> Trådar (användare) -> Trådgrupp

Men i Trådgruppens kontrollpanel anger du Trådegenskaper enligt följande:

Lägg till trådgrupp

Den här inställningen tillåter JMeter skapa 10 användarens begäran till http://www.google.com 10 gånger.

Steg 2) Lägg till JMeter element

  • Lägg till standard för HTTP-begäran
  • Lägg till HTTP-begäran

Vi gör fortfarande JMeter skicka förfrågan http://www.google.com till Googles server.

Steg 3) Lägg till Post-Processor Element

Högerklicka Trådgrupp -> Lägg till -> Postprocessor -> Resultat Status Åtgärdshanterare

Resultat Status Åtgärdshanterare tillåter användaren att stoppa tråden eller hela testet om användarens begäran misslyckades.

Lägg till Post-Processor Element

Välj i fönstret Resultatstatus Åtgärdshandtag Sluta testa nu. Detta val kommer att stoppa testet om JMeter få felet från serverns svar.

Lägg till Post-Processor Element

Steg 4) Konfigurera HTTP-förfrågan

Öppna HTTP-förfrågningspanelen. Stiga på "abc" till fältet Sökväg.

Konfigurera HTTP-förfrågan

När du går in "abc" till stigen, JMeter kommer att skapa en URL-begäran till Googles server: http://www.google.com/abc. Den här webbadressen finns inte på Googles server. Det är oförrätter URL-begäran så att Google-servern returnerar ett fel.

Steg 5) Lägg till vyresultatträd

Högerklicka Trådgrupp -> Lägg till -> Lyssnare -> Visa resultatträd

Lägg till vyresultatträd

Steg 6) Kör test

Välj Visa resultatträd, tryck på Kör-knappen på menyraden. Du kommer att se fel svar från Googles server och testet slutar med ut slutföra 100 trådar.

Kör testet

Gå nu tillbaka till steg 4, öppna HTTP-begäran, ange "kalender” till rutan. Den gör JMeter skapa URL-begäran https://calendar.google.com/calendar/u/0/r till Googles server. Detta är korrekt URL-begäran så att Google-servern returnerar OK (inga fel).

Kör testet

Välj Visa resultatträd, tryck på Kör-knappen på menyraden. Du kommer att se OK svar från Googles server och testet kommer att fortsätta tills alla 100 trådar är klara.

Kör testet

Felsökning

Om du stöter på problemet när du kör scenariot ovan ... gör följande:

  1. Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyn.
  2. Öppna en ny instans av Jmeter
  3. Öppna ProcessorTestPlan.jmx i Jmeter
  4. Double-klicka på Trådgrupp -> Visa resultatträd
  5. Kör testet