Jmeter - 使用 jmeter 函数作为 bsh.args

Jmeter - using jmeter function as bsh.args

我正在尝试将一个函数作为参数发送到 bealshell 断言组件中。 参数是

${__V(SB_names_${counter})}

它基本上是一个在每次迭代中都不同的动态字符串。 我正在尝试通过

访问此参数
vars.get(bsh.args[2]);

因为它是列表中的第 3 个参数,但我一直得到 null。

是否可以使用 jmeter 函数作为参数?还是问题出在获取参数上? 谢谢

它应该可以正常工作:

  1. 确保变量已定义
  2. 删除 "Parameters" 部分的所有逗号
  3. 从 "Parameters" 部分删除所有多余的空格。

作为一种解决方法,您可以考虑从 vars 代表 JMeterVariables 的对象获取所需的值,例如:

String sb_name = vars.get("SB_names_" + vars.get("counter"));

演示:

同时考虑转到 JSR223 Assertion and Groovy language as it is better from performance perspective. See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南以获取有关 groovy 引擎安装和脚本最佳实践的更多信息。