2013-03-11 95 views
2

我的问题是关于JMeter和BeanShell PostProcessor。用JMeter调用java方法

我用Eclipse开发了一个Java项目并将该项目导出到jar中。我已经把这个jar放在JMeter的/ lib/ext文件夹中。

当我打电话java -jar C:\Program Files\apache-jmeter-2.9\lib\ext\myJar.jar一切工作正常。

现在我想在JMeter内部的jar中调用该方法。在我的Beanshell处理器内部,我把这个代码:

import bsh.LoadProperties; 
import bsh.SSOTokenHelper; 

LoadProperties loadProperties = new LoadProperties(); 
loadProperties.init(); 

result = SSOTokenHelper.getSecurityToken(); 

有关信息,它是我在我的主类中的确切代码。但是在JMeter中的日志文件,我有这样的消息:

jmeter.util.BeanShellInterpreter:错误调用BSH方法: EVAL源文件:内嵌的评价:``进口bsh.LoadProperties; import bsh.SSOTokenHelper; LoadProperties loadProper。 。 。 “”: 方法调用SSOTokenHelper.getSecurityToken

我不明白为什么它的工作时,我直接打电话给我的罐子,为什么当我通过JMeter的做同样的事情不工作。

感谢您的帮助。

回答

1

bsh.SSOTokenHelper不是一个真正的BeanShell类,根据javadocs在http://www.beanshell.org/javadoc/index.html。您可能需要更正导入,或者如果您已编制SSOTokenHelper类,请将其放入不同的包中以避免混淆,并确保其类可用于JMeter。 OK。

+0

OK。谢谢你的帮助。 我自己做过这样的课。我已经更改了包的名称,并将新jar放在JMeter的/ lib/ext文件夹中,但仍然存在相同的问题。 – northix 2013-03-12 09:15:16

+0

你应该打开你制作的jar(在一个zip文件查看器中),并检查你的目录结构是否正确。看看jar文件上的Java教程http://docs.oracle.com/javase/tutorial/deployment/jar/ – artbristol 2013-03-12 09:27:47

+0

当我调用java-jar myJar.jar时,它工作正常。我的目录结构可能是错误的?无论如何,我会拿一个你的链接的战利品;) 我想知道是否有一些限制通过与Beanshell调用jar(例如:不明白通用类型)。 – northix 2013-03-12 09:38:25