使用JMeter运行Java类(BeanShell)
我编写了一个Java类用于JMeter,将项目打包为.jar文件,并将该文件移动到JMeter目录中的lib/ext文件夹中。我看过关于如何进行的文档,但它们给出了相互矛盾的答案 第一种方法是使用BeanShell采样器导入我的包和类,创建类的对象并以这种方式运行方法。我使用了这个方法,使用的示例类的文件结构比我想要运行的类的文件结构更简单。示例类使用以下BeanShell脚本使用JMeter运行Java类(BeanShell),java,jmeter,beanshell,Java,Jmeter,Beanshell,我编写了一个Java类用于JMeter,将项目打包为.jar文件,并将该文件移动到JMeter目录中的lib/ext文件夹中。我看过关于如何进行的文档,但它们给出了相互矛盾的答案 第一种方法是使用BeanShell采样器导入我的包和类,创建类的对象并以这种方式运行方法。我使用了这个方法,使用的示例类的文件结构比我想要运行的类的文件结构更简单。示例类使用以下BeanShell脚本 import tools.JmeterTools; JmeterTools jt = new JmeterTools(
import tools.JmeterTools;
JmeterTools jt = new JmeterTools();
jt.foo();
当我尝试对我想要运行的类使用此方法时,它指出变量声明是错误的,并且找不到该类。我认为这是因为我不知道要导入什么,因为我的项目中的文件结构有点奇怪
第二种方法使用BeanShell预处理器将jar添加到类路径中。这种方法我根本无法投入工作,但我读过许多关于其他人获得成功的报道。其工作原理如下:
addClassPath("directory path to jar\lib\ext\foo.jar");
JMeterTest jtm = new JMeterTest();
jmt.test();
有没有人知道哪种方法更有效,或者对如何修复导入有什么想法
我在BeanShell脚本中使用的导入如下所示:
import client.JMeterTest;
我班上排名靠前的包行如下
import com.x.foo.client;
您需要将jar文件放在
JMETER_HOME/lib
文件夹中
lib/ext
用于JMeter扩展/插件等
放置jar后,可能需要重新启动JMeter。您需要将jar文件放在
JMeter_HOME/lib
文件夹中
lib/ext
用于JMeter扩展/插件等
放置jar后,可能必须重新启动JMeter。如果满足以下前提条件,则从Beanshell运行外部类应该可以正常工作
import com.x.foo.client.JMeterTest;
或
如果满足以下前提条件,从Beanshell运行外部类应该可以很好地工作
import com.x.foo.client.JMeterTest;
或
对于将来有这个问题的人。其他人给出的答案是正确的。它对我不起作用,因为我忘记了在制作jar时Maven不会在测试目录中打包文件 如果将来有人这样做,这个链接可能会有所帮助。
适用于将来有此问题的任何人。其他人给出的答案是正确的。它对我不起作用,因为我忘记了在制作jar时Maven不会在测试目录中打包文件 如果将来有人这样做,这个链接可能会有所帮助。
当我将jar文件放在/lib文件夹中时,当我单击JMeter.bat批处理文件时,JMeter不再运行当我将jar文件放在/lib文件夹中时,JMeter不再运行当我单击JMeter.bat批处理文件时,我正在遵循这些步骤,我得到:“未找到命令:MyItem(java.lang.String,java.lang.String)”对于构造函数和“尝试解析方法:未定义变量上的getDescription()”,对于方法。我可以正确地导入模块并正确地声明变量,但我不能调用构造函数或方法。我按照这些步骤进行操作,得到构造函数的“未找到命令:MyItem(java.lang.String,java.lang.String)”和方法的“尝试解析方法:未定义变量上的getDescription()”。我可以正确导入模块并正确声明变量,但不能调用构造函数或方法。