我有条件需要加载属性文件并将prop值赋给JMeter UDV。
我已经能够成功加载属性文件,但我无法将支持值分配给UDV
我尝试了以下内容:
var_from_prop_file=1000
)my.var
”,值为“${var_from_prop_file}
”)使用调试采样器运行调试脚本,我可以看到var_from_prop_file
已分配给值1000
然而my.var仍为空(无值)。
我在使用my.var = ${var_from_prop_file}
创建UDV时的期望,my.var
值也是1000
,但这里不会发生。
我尝试使用__eval
和_ _evalVar
- 到目前为止没有运气。
是否可以将jmeter变量引用到属性文件键? 并在其他地方调用变量?
到目前为止,调试采样器 - 看起来像jmeter首先加载UDV,然后jmeter属性不是那种方式。
答案 0 :(得分:3)
将JMeter属性批量转换为JMeter变量的最快方法是使用JSR223 Sampler和以下代码:
SampleResult.setIgnore()
props.entrySet().each {entry ->
vars.putObject(entry.getKey(),entry.getValue())
}
其中:
SampleResult.setIgnore()
- 从侦听器和.jtl结果文件中删除JSR223 Sampler props
- JMeter属性的简写(基本上是java.util.Properties的实例)vars
- JMeterVariables class 答案 1 :(得分:2)
您尝试获取所有变量,您需要使用不同的functions获取属性:
属性与变量不同。变量是线程的本地变量;属性对所有线程都是通用的,需要使用__P或__property函数进行引用。
在您的情况下,使用以下值设置my.var
${__P(var_from_prop_file)}
或者
${__property(var_from_prop_file)}
类似的结果,只需注意__P
的默认值为1
属性的默认值。如果省略,则默认设置为" 1"。
另一种选择是使用JSR223 Sampler使用vars
来设置变量,使用props
来获取属性:
vars.put("my.var", props.get("var_from_prop_file"));