2017-04-05 5 views
0

TestplanWenn einwandfreiem Zustand in meinem Fall nicht jmeter mit

  1. mit den erforderlichen Parametern Senden Post Anfragen nach Login
  2. Als Antwort von oben I 1 GET-Anfrage

bin immer Ich speichere oben GET Anfragen in Variable mit BeanShell PostProcessor wie:

String URL = prev.getURL().toString(); 
log.info(URL); 
  1. Jetzt versuche ich IF-Bedingung basierend auf URL variablen Wert setzen.

d.h

if("${URL}"=="https://www.example.com") 
       //do something 

Aber über IF-Bedingung nicht funktioniert. Selbst wenn der korrekte Wert wie erwartet und tatsächlich eingegeben wird, werden während der Ausführung des Skripts Bedingungen übersprungen oder sind falsch.

Antwort

1

Wenn Sie es in Beanshell-Skript tun, verwenden Sie vars.get("URL") anstatt auf die Variable wie ${URL} zuzugreifen.

In Zukunft sollten Sie es vermeiden, Variablen und Funktionen in Beanshell-Skripte einzufügen, da sie möglicherweise in etwas aufgelöst werden, das zumindest einen Syntaxfehler verursacht.

Vergleichen Sie auch keine Strings mit dem Operator ==, verwenden Sie stattdessen die Methode String.equals().

Richtige Code wie folgt aussieht:

String URL = prev.getURL().toString(); 
log.info(URL); 
vars.put("URL", URL); // store URL value into a JMeter Variable 

if (vars.get("URL").equals("https://www.example.com")) { 
    //do what you need here 
} 

Siehe How to Use BeanShell: JMeter's Favorite Built-in Component Artikel für weitere Informationen über Beanshell Scripting in Jmeter.

Verwandte Themen