我是负载和性能测试的新手,所以任何人都可以解释一下,JMeter beanshell脚本中的vars对象和props对象之间有什么区别。
我对JMeter变量和属性也有点混淆。
感谢。
答案 0 :(得分:7)
最简单的解释是线程之间不共享变量(变量),并且共享属性(props)。
用法:
vars - (JMeterVariables) - 提供对变量的读/写访问:
- vars.get(键);
vars.put(键,VAL);
vars.putObject(" OBJ1",new Object());
vars.getObject(" OBJ2&#34);
props - (JMeterProperties - 类java.util.Properties):
- props.get(" START.HMS&#34);
- props.put(" PROP1"" 1234&#34);
您可以参考this链接获取有关变量和道具的更多信息。
答案 1 :(得分:3)
<强>乏强>
vars(JMeter变量)是最常用的组件。这是一个
org.apache.jmeter.threads
。JMeterVariables类的实例 提供对当前变量的读/写访问权限 枚举/更改现有变量,创建新变量,以及 获取嵌套属性。所有JMeter变量都是Java字符串。 如果你需要把其他东西放到JMeter变量上,你需要 首先将它转换为字符串。以下代码段演示了 如何将以前的采样器响应数据保存到JMeter变量中。byte [] samplerdata = ctx.getPreviousResult().getResponseData(); String samplerdatastring = new String(samplerdata); vars.put("samplerdata",samplerdatastring);
<强>道具强>
基本上,这与“vars”相同,但它暴露了JMeter 属性而不是。请参阅java.util.Properties和JMeter上的JavaDoc 有关JMeter属性的文档以获取更多信息。首要的 道具和变种之间的区别是道具具有“全球性” 范围,而“vars”的范围仅限于当前线程 基。
请参阅此link。