2016-06-16 21 views
0

Unter Fehler, wenn ich das Jmeter-Skript mit Beanshell Post Processor als Kind zu einem Sampler ausführen.FEHLER - jmeter.util.BeanShellInterpreter: Fehler beim Aufrufen der bsh-Methode: eval t Ausgelagerte Datei: Inline-Auswertung von:

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: `` try {newuser = vars.get ("prevUsrResponse"); org.json.JSONObject userJSON = neu o. . . '': typisierte Variablendeklaration: Klasse: org.json.JSONObject nicht 2.9 geschrieben im Namensraum

Unten ist der Code, und führen Sie in jMeter gefunden.

newuser= vars.get("prevUsrResponse"); 
org.json.JSONObject userJSON= new org.json.JSONObject(newuser); 

if(prevUsrJSON.has("User") && custJSON.get("User")!= null) { 
    org.json.JSONObject contactJSON = userJSON.getJSONObject("User"); 

    contactJSON.put("UserType","Private"); 

} 

vars.put("updatedUser", userJSON.toString()); 

${updatedUser} Variable gibt nicht die json (oder einen Wert), wenn in der nächsten sampler Anforderung verwendet.

Antwort

0

Es können folgende mögliche Ursachen haben:

  1. Du hast nicht die .jar haben, die org.json.JSONObject Klasse in JMeter CLASSPATH zur Verfügung stellt.

    • das Glas Laden Sie das heißt von der Maven central repo
    • Kopieren Sie es in JMeter den Ordner "lib"
    • Restart JMeter die .jar up
  2. Sie haben Linie die entsprechende Import nicht zu holen. Fügen Sie es zu Beginn des Skriptes:

    import org.json.JSONObject; 
    

Sie können auch prüfen, zu JMeter 3.0 Upgrade, das mit Unterstützung Built-in JSON kommt und bietet JSON Path PostProcessor Daten aus JSON Antworten zu extrahieren. Wenn Sie immer noch Beanshell wollen - es ist auch möglich, verwenden Sie einfach json-smart Klassen

+0

BeanShellPostProcessor schlägt in JMeter 3.0 mit dem gleichen Fehler wie oben erwähnt. Ich kann JSON Path PostProcessor in meinem Fall nicht verwenden. Bitte helfen – Val