【问题标题】:JMeter (Beanshell sampler) Token Parsing Error: Lexical error at line 2, column 15. Encountered: "?"JMeter(Beanshell 采样器)令牌解析错误:第 2 行第 15 列的词法错误。遇到:“?”
【发布时间】:2016-08-30 09:47:15
【问题描述】:

我将 XML 从变量传递到字符串:

def request = '${variable}'

当我运行我的 beanshell 脚本时,响应显示如下(注意;第 1 行是注释):

Token Parsing Error: Lexical error at line 2, column 15.  Encountered: "?"

我相信它可以通过转义问号来解决(所以“\\?”而不是“?”),但我不知道如何在这个具体示例中做到这一点。有人对此有想法吗?

【问题讨论】:

  • 您的 XML 已损坏,您的脚本也有问题......我们还能说什么?
  • @Gyro Gearless;由于安全原因,我无法发布 XML。此外,这是脚本的第一步,因此脚本的其余部分无关紧要(至少目前如此)。 XML 是可行的,因为它在 SoapUI 中完美运行,但我需要它在 JMeter 中运行。

标签: java jmeter beanshell


【解决方案1】:

尝试:

String request = vars.get("variable").toString();

【讨论】:

  • 不幸的是,这并没有做任何事情。我仍然遇到和以前一样的错误。
【解决方案2】:

我建议如下:

  1. 从 Beanshell Sampler 切换到 JSR223 Sampler 并确保从“语言”下拉菜单中选择 groovy
  2. 不要将变量内联到“脚本”中,因为它不会编译到字节码中,因此会对整体脚本性能产生负面影响,因此将变量寻址为:

    def request = vars.get("variable");
    

    varsJMeterVariables 类实例的简写,它提供对当前线程组范围内所有变量的读/写访问。

请参阅 Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南,了解 Beanshell 与 Groovy 基准测试和脚本编写最佳实践。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2018-03-26
    • 2016-05-02
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多