将第三方Jar文件导入Beanshell采样器,运行时出错

时间:2014-06-10 02:25:10

标签: jmeter smack

创建用户定义变量,包含3个变量CHAT_HOST,CHAT_PORT,CHAT_SERVICE 并为他们分配价值。

将2个Smack 3.0文件放到Jmeter的/ lib文件夹中,并使用以下代码创建Beanshell采样器:

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.SASLAuthentication;
import org.jivesoftware.smack.XMPPConnection;


ConnectionConfiguration config = new ConnectionConfiguration();
ConnectionConfiguration.init(vars.get("CHAT_HOST"), vars.get("CHAT_PORT"), vars.get("CHAT_SERVICE"));
XMPPConnection connection = new XMPPConnection(config);
connection.connect();

但是,运行控制台时显示错误如下:

WARN  - jmeter.protocol.java.sampler.BSFSampler: BSF error org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.s . . . '' : Typed variable declaration : Undefined argument: HOST  : at Line: 7 : in file: inline evaluation of: ``import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.s . . . '' : ( HOST , PORT , SERVICE ) 
 BSF info: script at line: 0 column: columnNo
    at bsh.util.BeanShellBSFEngine.eval(BeanShellBSFEngine.java:199)
    at org.apache.jmeter.protocol.java.sampler.BSFSampler.sample(BSFSampler.java:104)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
    at java.lang.Thread.run(Unknown Source)

你想告诉我如何处理这个错误,以及像我一样从第三方Jar文件调用类的方法 - 是对还是错?如果错了,请指导我。

谢谢,

1 个答案:

答案 0 :(得分:0)

从错误消息来看,似乎是:

  • vars.get(“ CHAT_HOST”)包含主机
  • vars.get(“ CHAT_PORT”)包含端口
  • vars.get(“ CHAT_SERVICE”)包含SERVICE

因此,请检查用户定义变量中的值。

我还建议使用Groovy从Beanshell迁移到JSR223,因为错误消息会更清晰,性能也会更好。

这是在JMeter中执行自定义脚本的多种方式。