JSR223后处理器:ClassNotFoundException:org.apache.bsf.engines.java.JavaEngine

时间:2014-06-25 13:51:44

标签: jmeter

我正在尝试在jmeter 2.11中使用JSR223后处理器和一些java代码,我不断收到此错误:

org.apache.bsf.BSFManager:Exception:java.lang.ClassNotFoundException:org.apache.bsf.engines.java.JavaEngine

我已经检查了bsf / bsh jar文件,不知道还需要做些什么才能使其工作。我已经读过groovy是推荐的,但我真的很喜欢这个用java。

1 个答案:

答案 0 :(得分:0)

根据BSF Sampler documentation的第一行:

  

有关支持的语言的详细信息,请参阅Apache Bean Scripting Framework网站。您可能需要为该语言下载适当的jar;它们应该放在JMeter lib目录中。

在同一个地方:

  

BSF API已经在很大程度上被JSR-223取代,后者包含在Java 1.6中。现在大多数脚本语言都包含对JSR-223的支持;请改用JSR223采样器。只有在支持遗留语言/测试脚本时才需要BSF采样器。

所以我建议考虑以下内容(按照从最差到最佳性能的顺序)

  1. Beanshell Sampler(如果您的Java代码正在执行某些事情" light")
  2. JSR223 Sampler +时髦的语言 - 对于"沉重的"操作(再次,您需要在JMeter CLASSPATH中安装常规jar)
  3. 编写自己的Java Request采样器
  4. 实现

    Beanshell和Groovy都支持Java语法,但有一些限制可以轻松解决。

    请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!指南,该指南可能有助于您做出正确的选择。