如何将变量从 bean shell 样本传递到其他请求


import java.util.Random;        
Random r = new Random();
int low = 1;
int high = 4;
int randomvalue = r.nextInt(high-low) + low;
log.info("-------------------------");
String Value="10000"+randomvalue+"A";
log.info(Value);

如何将Value变量中存在的数据传递给JMeter中的其他请求?

将 Beanshell 更改为 JSR223 Sampler 并向 JMeter 变量添加值

 vars.put("Value", Value);

您可以稍后将其称为${Value}或内部JSR223 Sampler称为vars.get("Value")

或者使用 JMeter 的属性保存(影响所有线程)

 props.put("Value", Value);

您可以稍后将其称为${__P(Value)}或内部JSR223 Sampler称为props.get("Value")

  1. 建议尽可能使用JMeter内置测试元素,您的需求可以通过__Random()和__intSum()函数组合来实现。两者都提供了将生成的值存储到 JMeter 变量中的可能性。查看 Apache JMeter Functions - 简介文章,了解有关 JMeter Functions 概念的更多信息。
  2. 如果您绝对必须编写脚本,请注意 JMeterVariables 类实例vars简写,它提供对 JMeter 变量的读/写访问,以便您可以将生成的值放入 ${foo} JMeter 变量为:

    vars.put("foo", Value);
    
  3. 从JMeter 3.1开始,建议使用JSR223测试元素和Groovy语言进行脚本编写,因此请考虑在下一个可用的机会迁移到Groovy。

相关内容

最新更新