2017-01-25 7 views
1

Ich habe eine Aufgabe, bei der ich zwei Aufgaben basierend auf dem vorherigen Sampler-Ergebnis ausführen muss.Wie zu implementieren, wenn Else Block in Jmeter Testplan?

If Assertion fails { send email with the error message. }else { perform the tasks in while controller. }

Ich habe den ersten Teil leicht, indem sie den Zustand in Wenn die Steuerung ${JMeterThread.last_sample_ok} == false

Ich habe Probleme gehen auch Block erreicht. Ich habe zwei IF-Controller ausprobiert, aber ohne Erfolg. Hier muss nur ein IF-Block oder ein Else-Block ausgeführt werden. Aber in meinem Fall geht es sowohl um die Blöcke als auch um beide Aufgaben. Kann jemand helfen, wie man das erreicht? enter image description here

Antwort

0

Es gibt keinen "Else" Block in JMeter, Sie haben nur "Wenn", wenn Sie "Else" Verhalten benötigen, müssen Sie 2 IF Controller mit entgegengesetzten Bedingungen verwenden.

Aber für 2. Wenn die Controller Sie dies nicht als dieses ${JMeterThread.last_sample_ok} variabel sein können, verwenden mit dem Ergebnis Ihrer SMTP-Sampler überschrieben werden also, wenn Ihr SMTP-Sampler erfolgreich sein wird ${JMeterThread.last_sample_ok} Variable werden wahr daher wird der zweite If Controller ebenfalls ausgeführt.

So würde ich die folgende Vorgehensweise empfehlen:

  • Wenn Ihre Assertion schlägt fehl

    • In Beanshell PreProcessor eine benutzerdefinierte Variable definieren wie:

      vars.put("run_while_controller", "false"); 
      
  • Put Ihr While Controller unter ein anderer Wenn Regler und verwenden ${run_while_controller} als Bedingung

Alternative Option wird nach dem Senden einer E-Mail den Test zu stoppen, kann diese

In Zukunft mit dh Test Action Sampler erfolgen würde ich mit Debug Sampler und View Results Tree Listener zu überprüfen vorschlagen Alle Werte der JMeter-Variablen. Dies ist die bequemste Möglichkeit, alle JMeter-Variablen und -Eigenschaftswerte anzuzeigen. Weitere Informationen zum unerwarteten Verhalten des JMeter-Tests finden Sie im Artikel How to Debug your Apache JMeter Script.

+0

Es hat funktioniert !! Danke – Namrata

+0

Zwei IF-Controller erfordern die gleiche Bedingung geschrieben zweimal (trotz einmal negiert), die eine mögliche Quelle von Fehlern ist, um eine IF an zwei Stellen zu haben. Zweifelhaft. – Franta

0

Please refer this link

Dies hat Schritte zu detailliert, wie es zu benutzen.

+0

bitte nicht Link nur Antworten posten. versuchen Sie, mehr Details in Ihre Antwort hinzuzufügen, so dass, wenn der Link stirbt, Ihre Antwort noch nützlich ist –

Verwandte Themen