繁体   English   中英

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

[英]Jmeter: How to reuse custom java function between different JMX file

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

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

void logTransaction(responseTime,samplerName);

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

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

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

您可以在JSR223 Sampler中运行相同的脚本文件,该文件也支持Java / Beanshell语言。

Script file字段中输入脚本文件名,并在不同的jmx文件中重复使用它

在此输入图像描述

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

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

JSR223监听器

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

def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());
  1. 将下一行添加到user.properties文件(位于JMeter安装的“bin”文件夹中)

     beanshell.sampler.init=BeanShellSampler.bshrc 
  2. logTransaction函数放在BeanShellSampler.bshrc文件中(相同位置,JMeter的“bin”文件夹)
  3. 下次启动JMeter时,您可以在任何脚本中从任何Beanshell Sampler调用该函数

参考文献:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM