JMeter更改变量值不起作用

时间:2017-12-06 12:59:12

标签: jmeter load-testing beanshell

我正在使用像这样的jmeter beanshell预处理器..我试图获取正文数据值,并在发送之前做一些逻辑..这里是我试过的

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");
奇怪的是,我宣称" dummy2"使用值" initialS",并在我的代码底部重新更改它的值(参见上面的代码)..但值没有改变..

我试图在代码的最底部打印出日志(只是为了确保代码完全执行)并且日志显示..但是" dummy2"的值没有改变..这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

  1. 总是查看 jmeter.log 文件,通常它应该有足够的信息才能找到问题的根源
  2. 请注意,从JMeter 3.1 it is recommended to use Groovy for any form of scriptingGroovy has much better performance than Beanshell开始,此外它还附带built-in JSON support
  3. 关于您的脚本本身,我的期望是您在minimal-json中根本没有JMeter classpath jar。