将数据库输出值写入jmeter中的变量时出错

时间:2016-10-13 15:27:46

标签: jmeter

我使用的语法是props.put("perpetual_id",vars.get("Inventory_id_1"));

Response code: 500
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval  Sourced file: inline evaluation of: ``props.put("perpetual_id",vars.get("Inventory_id_1")); System.out.println(vars.ge . . . '' : Method Invocation props.put

如果我使用System.out.println(vars.get("inventoryId_1"));,则打印正常。

1 个答案:

答案 0 :(得分:1)

你可能有一个拼写错误,即props.put...声明中缺少下划线。

鉴于System.out.println(vars.get("inventoryId_1"));工作正常,我的期望是您需要将您的行改为:

props.put("perpetual_id",vars.get("inventoryId_1"));

更多提示:

  • 您可以使用bsh.shared namespaces替代JMeter Properties
  • 将Beanshell代码放在try block内,可以获得更加人性化的错误消息:

    try { 
        //your code here
    }
    catch (Throwable ex) {
        log.error("Error in beanshell", ex);
        throw ex;
    }
    

    通过这种方式,您可以将“常规”堆栈跟踪打印到 jmeter.log 文件,这将提供更多信息,并将帮助您更快,更轻松地找到问题的根源。

有关在JMeter测试中使用Beanshell的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。