我在BeanShell PreProcessor中尝试了以下语句
String groupName = ctx.getThreadGroup().getName();
groupName = "${__BeanShell(ctx.getThreadGroup().getName())}"
两者都返回ERROR
jmeter.util.BeanShellInterpreter:
调用bsh方法时出错:eval源文件:
内联评估:ctx.getThreadGroup()。getName();
但是,它们会正确打印线程组名称。
答案 0 :(得分:2)
你的代码看起来不错(至少在这一行),问题似乎在其他地方
展望未来,您可以使用以下选项来了解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控制台窗口
有关JMeter测试脚本问题疑难解答的详细信息,请参阅How to Debug your Apache JMeter Script文章。