JMeter中的props和vars对象有什么不同

Sar*_*har 11 jmeter

我是负载和性能测试的新手,所以任何人都可以解释一下,在JMeter beanshell脚本中vars对象和props对象之间有什么区别.

我也有点混淆JMeter变量和属性.

谢谢.

Isk*_*ske 11

最简单的解释是线程之间不共享变量(变量),并且共享属性(props).

用法:

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

  • vars.get(键);
  • vars.put(键,VAL);

  • vars.putObject("OBJ1",new Object());

  • vars.getObject( "OBJ2");

道具 - (JMeterProperties - 类java.util.Properties):

  • props.get( "START.HMS");
  • props.put( "PROP1", "1234");

您可以参考链接以获取有关变量和道具的更多信息.


Adn*_*nan 7

根据Blazemeter博客

瓦斯

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);
Run Code Online (Sandbox Code Playgroud)

道具

基本上,这与“ vars”相同,但是它公开了JMeter属性。有关更多信息,请参见java.util.Properties上的JavaDoc和JMeter属性上的JMeter文档。props和vars之间的主要区别是props具有“全局”范围,而“ vars”的范围仅限于当前线程组。

请参考此链接