用JMeter调用java方法
问题描述:
我的问题是关于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的做同样的事情不工作。
感谢您的帮助。
答
bsh.SSOTokenHelper
不是一个真正的BeanShell类,根据javadocs在http://www.beanshell.org/javadoc/index.html。您可能需要更正导入,或者如果您已编制SSOTokenHelper
类,请将其放入不同的包中以避免混淆,并确保其类可用于JMeter。 OK。
OK。谢谢你的帮助。 我自己做过这样的课。我已经更改了包的名称,并将新jar放在JMeter的/ lib/ext文件夹中,但仍然存在相同的问题。 – northix 2013-03-12 09:15:16
你应该打开你制作的jar(在一个zip文件查看器中),并检查你的目录结构是否正确。看看jar文件上的Java教程http://docs.oracle.com/javase/tutorial/deployment/jar/ – artbristol 2013-03-12 09:27:47
当我调用java-jar myJar.jar时,它工作正常。我的目录结构可能是错误的?无论如何,我会拿一个你的链接的战利品;) 我想知道是否有一些限制通过与Beanshell调用jar(例如:不明白通用类型)。 – northix 2013-03-12 09:38:25