2017-12-06 4 views
0

i jmeter Beanshell Präprozessor wie diese bin mit .. ich versuche Körperdaten Werte zu erhalten, und einige Logik zu tun, bevor es zu senden .. hier ist, was ich versuchtJMeter ändern Variablenwert funktioniert nicht

import org.apache.commons.codec.digest.DigestUtils; 
import org.apache.jmeter.config.Argument; 
import org.apache.jmeter.config.Arguments; 
import com.eclipsesource.json.JsonObject; 


String toMD5 = "test"; 
String result = DigestUtils.md5Hex(toMD5); 
vars.put("signatureCreate", result); 
vars.put("dummy", "dummyText"); 
vars.put("dummy2", "initial"); 
vars.put("dummy2", "initialS"); 

Arguments arguments = sampler.getArguments(); 
log.info(arguments.getArgumentCount().toString()); 
    Argument argument = arguments.getArgument(0); 
    String name = argument.getName(); 
    String value = argument.getValue(); 

JsonObject requestStr = JsonObject.readFrom(value); 
String testLog = requestStr.get("storeName").asString(); 
vars.put("dummy2", testLog); 
log.info(testLog); 
log.info("dnsjdnsjndsd"); 

Das Seltsame ist, ich erklärte "dummy2" mit Wert "initialS", und ändern Sie den Wert davon in der Unterseite meines Codes (siehe Code oben) .. aber der Wert ändert sich nicht ..

Ich habe versucht, Protokoll ganz unten im Code auszudrucken (nur um sicherzustellen, dass der Code vollständig ausgeführt wurde) und das Protokoll zeigte .. aber der Wert von "dummy2" wurde nicht geändert .. Was ist falsch an diesem Code?

+0

versuche testLog vorher zu drucken, was bekommst du? – user7294900

+0

@ user7294900 Ich habe bereits das testLog ausgedruckt (bitte sehen Sie meinen Code oben), im log, der testLog Wert ist korrekt, ich meine den gleichen Wert wie der Wert in den Body-Daten – thekucays

Antwort

Verwandte Themen