JMeter Bean Shell PostProcessor,带有嵌入的特殊字符

时间:2017-01-23 18:35:47

标签: jmeter beanshell

我从HTTPReponse主体中提取一个变量,该变量包含一个包含特殊字符的字符串。当我尝试访问脚本中的变量时,我收到以下错误。有没有办法在保留特殊字符的同时访问这些变量?

jmeter.util.BeanShellInterpreter:调用bsh方法时出错:eval文件:内联评估:``token + ="" + auQV8OGH47fz50YFm9rS / dQjTcUuGi55ryzC7S3YInNcaciCVR3 / frSHwv8CE / mJD。 。 。 ''遇到" oSQ"在第1行,第269行。

1 个答案:

答案 0 :(得分:1)

很可能您正在以${variable_name_here}的形式访问脚本体中的JMeter变量,这不是非常推荐的。

Beanshell应该处理JMeter变量而不会出现任何问题,只需通过vars简写(或通过“参数”部分)访问它们

鉴于您有一个JMeter变量${foo},访问其值的正确方法将是:

  1. 使用vars简写:

    String foo = vars.get("foo");
    
  2. 使用“参数”部分(假设您有${foo}

    • String foo =参数;
    • String foo = bsh.args [0];
  3. 演示:

    Beanshell different ways of accessing JMeter Variables

    其他故障排除技巧:

    • 您可以将debug()命令添加到脚本的开头,以便将调试输出打印到JMeter控制台窗口中
    • 您可以将您的Beanshell代码放在try block中:

      尝试{     //你的代码在这里 } catch(Throwable ex){     log.error(“Beanshell failure”,ex);     抛出前 }

    有关在JMeter测试中使用Beanshell脚本的详细信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章