如何 运行 每个循环一次的 JSR223 预处理器脚本

How to run a JSR223 PreProcessor script once per loop

我目前有一个循环,通过 JDBC 请求采样器执行一堆查询。他们都应该共享一个随机 ID,该 ID 在每个循环中都会发生变化。

我尝试使用 beanshell 脚本和 JSR223 预处理器。但是预处理器在每个 JDBC reuqest 采样器之前执行,而不是每个循环执行一次。我觉得我的问题有一个明显的解决方法,但我没有找到。

我还尝试将 JSR223 脚本放入“Only Once Controller”中。但是我用 vars.put() 注入的随机变量对 JDBC 采样器不可见。此外,据我了解 Only Once Controller,它只会在第一次循环迭代时执行。这不是我想要的。

JSR223 PreProcessor 服从 JMeter Scoping Rules 所以如果你把它作为子 q_insert1 采样器 - 它每次迭代只会执行一次。

我还建议重新考虑语言选择,since JMeter 3.1 it's recommended to use Groovy for scripting