JMeter - 在用户定义的参数

时间:2018-04-04 08:25:20

标签: jmeter

我尝试使用简单的JSR 223 Sampler使用BeanShell从属性文件加载值,我这样成功地简单:

for (String key : localConfigProp.stringPropertyNames()) {
                String value = localConfigProp.getProperty(key);
                props.put(key,value); 
} 

现在我有UDV控制器,我尝试从属性加载到变量

test_param  ${__property(test_param,,${test_param_default} )}   
在JSR223 Sampler之后的UDV控制器问题是在windows中 test_param确实从属性文件和linux中设置了它的值 test_param仍然保持其默认的$ {test_param_default}值
我想它与此有关,首先调用UDV控制器。

如何在UDV之前调用脚本?

1 个答案:

答案 0 :(得分:1)

无法UDV之前调用脚本。

  

用户定义的变量元素允许您定义一组初始变量,就像在测试计划中一样。

     

请注意,测试计划中的所有UDV元素 - 无论它们在何处 - 都会在开始时进行处理。

您可以将UDV替换为User Parameters预处理器

  

要在测试运行期间定义变量,请参阅用户参数

或使用vars更新JSR223 Element中的变量:

  

vars - (JMeterVariables) - 提供对变量的读/写访问:

vars.put("variableName", "newValue");

变量将在后续步骤中更新,因为${variableName}

将使用它(不是在UDV中)

修改

如果要将属性复制到变量 - 可以添加值${__P(START.HMS)}

对于JSR223元素,您可以使用

vars.put("variableName", props.get("START.HMS"));