3

Ich habe einen JMeter-Testplan, der nur eine HTTP-Anforderung für mehrere Male pro Sekunde ausführt. Als Parameter habe ich eine bestimmte Zeitüberschreitung für jede Anfrage, die der Test ausführt. Dazu habe ich die "Duration Assertion" Sampler/Listener/IDK ^^JMeter Dauer Assertion Override Response Code

hinzugefügt Jetzt führe ich den Test und ich bekomme immer den Antwortcode 200, weil die Anfrage in Ordnung ist, aber die Dauer Assertion ist überschritten. Dies führt dazu, dass in der Ergebnisbaumstruktur erfolgreiche und fehlgeschlagene Anforderungen vorliegen, aber alle haben den Statuscode 200. Das Problem besteht darin, dass im Listener "Antwortcodes pro Sekunde" angezeigt wird, dass alle Anforderungen OK sind und den Antwortcode 200 haben. Aber sie sind nicht OK wegen der Dauer Assertion!

Mein Problem: Ich möchte den Statuscode derjenigen Anforderungen überschreiben, die aufgrund der Dauer Assertion fehlgeschlagen sind. Ich möchte, dass sie als ein anderer Antwortcode (ABER NUR, WENN SIE DEN DAUERBEURTEILUNG ÜBERSCHREITEN) in dem Listener "Antwortcodes pro Sekunde" angezeigt werden, weil ich sie nicht unterscheiden kann. Oder gibt es einen Weg, wie ich sie zum Scheitern bringen kann, wenn sie die Zeitüberschreitung überschreiten?

Es tut mir wirklich leid für mein Englisch und ich hoffe, dass Sie mein Problem verstehen können. Danke vielmals!

Antwort

2

Ich bin nicht bekannt, dass Testelemente, die Response Code erlauben zu ändern, aber können Sie es via Scripting wie folgt vorgehen:

  1. hinzufügen Beanshell Assertion als Kind des Ersuchens Sie scheitern soll. Die Beanshell Assertion sollte nach die Dauer Assertion

  2. Fügen Sie den folgenden Code in das "Script" Bereich gehen:

    import org.apache.jmeter.assertions.AssertionResult; 
    
    AssertionResult[] results = prev.getAssertionResults(); 
    for (AssertionResult result : results) { 
        if (result.isFailure()) { 
         if (result.getFailureMessage().contains("The operation lasted too long")) { 
          SampleResult.setResponseCode("1000"); 
         } 
        } 
    } 
    

    Beanshell Assertion Change Response Code

How to Use JMeter Assertions in Three Easy Steps Weitere Informationen finden Sie auf bedingt vorbei/fehlgeschlagene JMeter-Sampler über Assertions.

Verwandte Themen