2017-03-08 1 views
1

Ich arbeite an einfachen JMeter-Skript und mit WHILE-Controller. Wenn ich den Test für einen Benutzer und eine Iteration ausführen, wird der while-Controller gut ausgeführt.Jmeter: Während Controller: Loop nicht für die zweite Iteration ausgeführt wird

wenn i den Test für einen Benutzer ausgeführt werden, und zwei (mehr als 1) Iteration der Steuerung nicht nach innen, während Controller

für zB 1 Benutzer und 3 Iteration

Iteration 1 geht: während Controller werden ausgeführt werden: während der Steuerung wird ausgeführt:: Iteration
Iteration 2 Pass während Steuerung wird ausgeführt:: Iteration
Iteration 3 scheitert Iteration

Vielen Dank im Voraus fehlschlagen.

+0

Welche Bedingung haben Sie in 'While Controller' festgelegt? Bitte füge einen Screenshot hinzu. –

+0

@Naveen Hinzufügen der Bedingung für die Referenz, $ {__ javaScript ("$ {file_status}"! = "UNPUBLISHED")} –

Antwort

0

Meine Erwartung ist, dass Sie brauchen, um Ihre ${file_status} Variablenwert zu Beginn der zweiten Iteration zurückgesetzt, nicht die Details Ihres Testplan zu wissen, kann ich nur vorschlagen, es über JSR223 Test Element tun, wird der Code so einfach sein wie :

vars.put("file_status", "something not equal to UNPUBLISHED") 

vars eine Abkürzung zu JMeterVariables Klasseninstanz ist, bietet es/Schreibzugriff auf all JMeter Variables in ihrem Umfang zu lesen, wird der obige Code ${file_status} Variablenwert auf etwas anderen UNPUBLISHED so am 2. und weiteren Iterationen Ihres Während eingestellt Der Controller wird ebenfalls ausgeführt.

Weitere Informationen zur Verwendung von Groovy-Skripten in JMeter-Tests finden Sie im Artikel Groovy Is the New Black.

+0

Ich sehe zwei JSR223 unter Pre-und Post-Prozessor, die mehr vorzuziehen ist –

+0

Wenn Sie PreProcessor als Kind von setzen die Anfrage wird vor der Anfrage ausgeführt, PostProcessor wird danach ausgeführt. Ich bin nicht telepathisch genug, um vorzuschlagen, welche zu verwenden, JSR223 Sampler vor dem While Controller wird definitiv funktionieren –

+0

Es funktionierte diesmal gut ... einfach implementiert, was Sie vorgeschlagen, JSR223 Sampler vor WHILE hinzugefügt und sie auf einen anderen Wert zurückgesetzt :) –

Verwandte Themen