JMeter - 用户定义的计数器不会为循环递增

我对JMeter还是很陌生,我试图

使用循环控制器和JSR223

PostProcessor 来增加用户定义变量中预定义的计数器变量,但它似乎运行不佳。我查看了有关

JMeter循环的各种示例和计数器示例,以解决此问题,但配置元素Counter也未随循环增加。有人可以让我知道我做错了吗?

这就是我尝试使用后处理器递增计数器的方式,并且日志显示计数器未针对每个循环递增。我想将计数器提高到5:

这就是我尝试使用后处理器递增计数器的方式,并且日志显示计数器未针对每个循环递增。 我想把计数器提高到5

[编辑]我不确定我为什么要使用$ {counter}进行测试。我试图将另一个变量中的计数器变量评估为’$ { V(transaction _’+ vars.get(’counter’)+’)}’,则存储的文本将显示

“ transaction_3”,如果我’$ {__ V(transaction _ $ {counter})}’,然后我得到存储在文本文件中的正确值“ 110001”,而在下一次迭代中,计数器不递增。有没有可能解决此问题的方法?

这就是我在变量中使用变量的方式,它表明值未更改,因为计数器未更改。

这个图像就是我尝试使用vars.get()的方式,它表明它只是放置变量名称而不是评估每个项目的值。

回答:

According to JSR223

Sampler

documentation:

JMeter processes function and variable references before passing the script

field to the interpreter, so the references will only be resolved once.

Variable and function references in script files will be passed verbatim to

the interpreter, which is likely to cause a syntax error. In order to use

runtime variables, please use the appropriate props methods, e.g.

props.get("START.HMS");

props.put("PROP1","1234");

So amend the last line of your script to look like:

log.info(vars.get('counter'))

Demo:

还请注意,它使用起来容易得多:

  1. Counter test element or __counter() function, check out How to Use a Counter in a JMeter Test article for more details
  2. 循环控制器公开${__jm__Loop Controller__idx}JMeter变量,该变量保存当前迭代次数

以上是 JMeter - 用户定义的计数器不会为循环递增 的全部内容, 来源链接: utcz.com/qa/424414.html

回到顶部