JMeter - 检索线程组名称时出错

JMeter - get error when retrieving the Thread Group name

我在 BeanShell 预处理器中尝试了以下语句

String groupName = ctx.getThreadGroup().getName();
groupName = "${__BeanShell(ctx.getThreadGroup().getName())}"

两个return错误

jmeter.util.BeanShellInterpreter:
Error invoking bsh method: eval Sourced file:
inline evaluation of: ctx.getThreadGroup().getName();

但是,他们正确地打印了线程组名称。

你的代码看起来不错(至少这一行),问题似乎出在其他地方

今后您可以使用以下选项来查明 Beanshell 脚本问题的根源:

  • 将您的代码放在 try block 中,例如:

    try {
        String groupName = ctx.getThreadGroup().getName();
    } catch (Throwable ex) {
        log.error("Something went wrong", ex);
        throw ex;
    }
    

    这样您就可以在 jmeter.log 文件

  • 中看到完整的错误详细信息
  • debug() 命令添加到 Beanshell 脚本的开头 - 它会触发调试输出到 JMeter 控制台 window

有关 JMeter 测试脚本问题故障排除的更多信息,请参阅 How to Debug your Apache JMeter Script 文章。