使用JMeter调用java方法

时间:2013-03-11 16:35:45

标签: java jar jmeter beanshell

我的问题是关于JMeter和BeanShell PostProcessor。

我用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源文件:内联评估:``import bsh.LoadProperties;   import bsh.SSOTokenHelper; LoadProperties loadProper。 。 。 '':   方法调用SSOTokenHelper.getSecurityToken

我不明白为什么当我直接调用我的jar时它正在工作以及当我用JMeter做同样的事情时它为什么不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据{{​​3}}的javadocs,

bsh.SSOTokenHelper并不是真正的BeanShell类。您可能需要更正导入,或者如果您已组成SSOTokenHelper类,请将其放在不同的包中以避免混淆并确保其类可供JMeter使用。