Jmeter:如何在不同的JMX文件之间重用自定义java函数

时间:2017-09-28 13:33:08

标签: jmeter beanshell custom-function jmeter-3.2

要求:将每个采样器的响应时间发布到Mongo DB,为此创建了一个HttpClient java代码(类函数)。

问题:需要在每个采样器之后调用自定义(在150+ jmx文件之间重用相同的代码)从Beanshell调用Java函数。

void logTransaction(responseTime,samplerName);

解决方案需要:将自定义java函数(.c或.txt)与jmx文件合并。

例如在Load runner中,我们可以包含.h文件(在公共路径中共享)和可重用代码,并包含在globals.h中。

jmeter有什么方法或解决方案吗?

4 个答案:

答案 0 :(得分:2)

您可以在JSR223 Sampler中运行同样支持Java语言的脚本文件。

在脚本文件中输入脚本文件名,并在不同的jmx文件中执行

答案 1 :(得分:1)

enter image description here

可以通过保存java文件并在JSR223中提供文件路径来重用代码。

答案 2 :(得分:1)

创建一个包含可重用java代码的JAR,并从JSR223 Listener中调用它,检查“Cache compiled script if if available”。

JSR223 Listener

使用默认脚本语言(Groovy)对您的呼叫进行编码:

def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());

答案 3 :(得分:0)

  1. 将下一行添加到 user.properties 文件(位于JMeter安装的" bin"文件夹中)

    beanshell.sampler.init=BeanShellSampler.bshrc
    
  2. 将您的logTransaction函数放入 BeanShellSampler.bshrc 文件中(相同位置,JMeter' s" bin"文件夹)
  3. 下次启动JMeter时,您可以在任何脚本中从任何Beanshell Sampler调用该函数
  4. 参考文献: