JMeter-为循环控制器设置动态变量


问题内容

我有以下安装程序:

| Thread Group
| -- BeanShell PreProcessor
| -- Loop Controller

在BeanShell预处理器中,我具有:

vars.put("myDynamicNumber", someDynamicallyGeneratedNumber+"");

在循环控制器中,我有:

Loop Count: ${myDynamicNumber}

我觉得这行得通。而是循环控制器找不到变量。我做错了什么吗?


问题答案:

您需要使用Beanshell Sampler而不是Beanshell Pre-Processor。

我不知道为什么JMeter允许将Beanshell Pre-Processor与循环控制器放在同一级别,它应该作为HTTP Request的子代。

我还建议您稍微更改一下代码为:

vars.put("myDynamicNumber", String.valueOf(someDynamicallyGeneratedNumber));

从Beanshell角度来看,这更正确。