Jmeter 使用 LoopCount 而不是 ThreadNum 变量(为每个计数保存变量并在另一个请求中使用它)

Jmeter using LoopCount instead of the ThreadNum variable(to save variable for every count and use it in another request)

我正在使用 beanshell 断言设置我的 Jmeter 变量:

${__setProperty(id_${__threadNum},${id},)}

并在另一个请求中使用它:

${__P(id_${__threadNum},)}

和运行像这样处理请求

但是我想 运行 循环计数而不是线程。这样我就可以 运行 一个一个地请求。我怎样才能将它更改为 loopNum 而不是 thread

当我想使用循环而不是线程时,我可以使用下面的这个吗??

我正在使用这个设置我的 Jmeter 变量:

${__setProperty(id_${__iterationNum},${id},)}

并在另一个请求中使用它:

${__P(id_${__iterationNum},)}

用于获取当前迭代(第一个循环 - 1、第二个循环 - 2 等):

props.put("id_" + vars.getIteration(), vars.get("id"));

获取所有迭代(每次都会return10

props.put("id_" + ctx.getThreadGroup().getSamplerController().getProperty("LoopController.loops"), vars.get("id"));

更多提示:

  1. 不要内联 JMeter Functions or Variables into Scripts, either use "Parameters" section or go for code-based equivalents instead, like in my above examples props stand for JMeter Properties, vars - for JMeter Variables, etc.), see Top 8 JMeter Java Classes You Should Be Using with Groovy 文章以获取更多详细信息。
  2. 不要使用 Beanshell 编写脚本,since JMeter 3.1 you are supposed to use JSR223 Test Elements and Groovy language