Jmeter类型变量声明:方法调用
我在使用Jmeter BeanShell预处理器时遇到问题。 脚本调用jar,我将它们放在目录“D:\Software\apache-jmeter-3.0\lib\ext”下。 这是我的BeanShell代码:Jmeter类型变量声明:方法调用,jmeter,beanshell,Jmeter,Beanshell,我在使用Jmeter BeanShell预处理器时遇到问题。 脚本调用jar,我将它们放在目录“D:\Software\apache-jmeter-3.0\lib\ext”下。 这是我的BeanShell代码: import com.evergrande.api.test.JsonClientUtil; import com.evergrande.common.utils.JsonUtil; import com.fasterxml.jackson.databind.node.ObjectNo
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”方法。
那么,我如何解决这个问题?谢谢大家
lib/ext
文件夹,它应该只用于JMeter核心组件和插件。将您的.jar库放在其他地方的“lib”文件夹中,它们只需要位于。另一种选择是在级别上使用adddirectory或jartoclasspath
选项
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文件中看到stacktrace详细信息。另一种查明Beanshell脚本失败原因的方法是在脚本开头添加命令。它将触发到控制台的详细输出。有关JMeter调试技术的更多信息,请参阅本文非常感谢。我已经解决了这个问题。这是因为缺少Jar包。