我尝试使用简单的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之前调用脚本?
答案 0 :(得分:1)
您无法在UDV之前调用脚本。
用户定义的变量元素允许您定义一组初始变量,就像在测试计划中一样。
请注意,测试计划中的所有UDV元素 - 无论它们在何处 - 都会在开始时进行处理。
您可以将UDV替换为User Parameters预处理器
要在测试运行期间定义变量,请参阅用户参数
或使用vars
更新JSR223 Element中的变量:
vars - (JMeterVariables) - 提供对变量的读/写访问:
vars.put("variableName", "newValue");
变量将在后续步骤中更新,因为${variableName}
修改强>
如果要将属性复制到变量 - 可以添加值${__P(START.HMS)}
。
对于JSR223元素,您可以使用
vars.put("variableName", props.get("START.HMS"));