Jmeter类型变量声明:方法调用

时间:2016-09-24 15:07:08

标签: jmeter beanshell

使用Jmeter BeanShell预处理器时遇到问题。 该脚本调用jar,我将它们放在目录“D:\ Software \ apache-jmeter-3.0 \ lib \ ext”下。 enter image description here

这是我的BeanShell代码:

import com.evergrande.api.test.JsonClientUtil;
import com.evergrande.common.utils.JsonUtil;
import com.fasterxml.jackson.databind.node.ObjectNode;

JsonClientUtil jcu=new JsonClientUtil();
ObjectNode node = JsonUtil.createObjectNode();//when I try to use the method in JsonUtil(Class),it came out error

错误:

2016/09/24 22:48:06 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``import com.evergrande.api.test.JsonClientUtil; import com.evergrande.common.util . . . '' : Typed variable declaration : Method Invocation JsonUtil.createObjectNode 
2016/09/24 22:48:06 WARN  - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval    Sourced file: inline evaluation of: ``import com.evergrande.api.test.JsonClientUtil; import com.evergrande.common.util . . . '' : Typed variable declaration : Method Invocation JsonUtil.createObjectNode 

我可以在我的java代码中调用“createObjectNode”方法。 那么,我该如何解决这个问题呢?谢谢大家。

1 个答案:

答案 0 :(得分:0)

  1. 不要将任何jar放到lib/ext文件夹中,它应仅用于JMeter核心组件和插件。将.jar库放到" lib"在其他地方的文件夹,他们只需要在JMeter's Claspath。备选方案是在Test Plan

    上使用Add directory or jar to classpath选项

    extra jars to classpath

  2. 需要JMeter重启以挑选罐子。
  3. 您可以使用try/catch块围绕代码来获取更易读的Beanshell错误消息

    import com.evergrande.api.test.JsonClientUtil;
    import com.evergrande.common.utils.JsonUtil;
    import com.fasterxml.jackson.databind.node.ObjectNode;
    
    try {
        JsonClientUtil jcu=new JsonClientUtil();
        ObjectNode node = JsonUtil.createObjectNode();
    }
    catch (Throwable ex) {
        log.error("Beanshell failure: ", ex);
        throw ex;
    }
    

    因此,如果您的脚本失败,您将能够在 jmeter.log 文件中看到堆栈跟踪详细信息。另一种触及Beanshell脚本失败的方法是将debug();命令添加到脚本的开头。它将触发详细输出到控制台。查看How to Debug your Apache JMeter Script文章,了解有关JMeter调试技术的更多信息。