如何在jmeter中使用java类?

时间:2013-04-18 12:51:54

标签: java jmeter

我试过在jmeter中运行java类 我已将java代码放在BSF预处理器中 但是发生了以下错误:

ERROR - org.apache.bsf.BSFManager: Exception : java.lang.ClassNotFoundException: org.apache.bsf.engines.java.JavaEngine
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190

我已尝试使用此link来包含jar文件。 但我不知道我需要包含哪个jar文件。

有人可以告诉我在jmeter中运行java类时包含哪个jar文件?

2 个答案:

答案 0 :(得分:1)

最好使用Beanshell而不是Java。

BSF似乎存在包装问题,请参阅

  

与此同时,您可以获得所有BSF引擎的二进制分发版   对于BSF 2.4(以及稍微高级版本的BSF 2.4)来自   http://wi.wu-wien.ac.at/rgf/rexx/bsf4rexx/current/BSF4Rexx_install.zip。   解压缩zip-archive后,您会找到一个名为的jar文件   " BSF-v244-20080704.jar&#34 ;.用这个替换官方的BSF 2.4   版本(包含所有官方引擎以及" BSF_Log"和   " BSF_LogFactory"。)

提到的jar也有一些问题。

无论如何,对于性能和最新代码,最好使用JSR223 Sampler + Groovy +填写编译缓存键

答案 1 :(得分:1)

你使用的是jmeter的哪个版本?用2.9 jsr 223预处理器使用java语言对我来说很好。我认为jsr223- *元素正在取代beanchell- *和BSF- *元素,所以你可以尝试一下。

java和beanshell顺便说一句,如果你执行了很多,声称它很慢。您可以使用groovy和JSR223预处理程序。您可以在JSR223 sampler文档中看到有关缓存已编译代码的信息。

Beanshell和groovy主要是java代码兼容的,所以你可以使用java代码但不完全。纯java中任何更复杂的东西都无法在groovy和/或beanshell中编译。

如果您使用纯java,那么如果您可以使用Java Request采样器而不是预处理器,那么它是有意义的。如果技术上很难实现,最快的选择似乎是使用常规的jsr223预处理器并缓存已编译的代码。

希望这有帮助。