要求:将每个采样器的响应时间发布到Mongo DB,为此创建了一个HttpClient java代码(类函数)。
问题:需要在每个采样器之后调用自定义(在150+ jmx文件之间重用相同的代码)从Beanshell调用Java函数。
void logTransaction(responseTime,samplerName);
解决方案需要:将自定义java函数(.c或.txt)与jmx文件合并。
例如在Load runner中,我们可以包含.h文件(在公共路径中共享)和可重用代码,并包含在globals.h中。
jmeter有什么方法或解决方案吗?
答案 0 :(得分:2)
您可以在JSR223 Sampler中运行同样支持Java语言的脚本文件。
在脚本文件中输入脚本文件名,并在不同的jmx文件中执行
答案 1 :(得分:1)
答案 2 :(得分:1)
创建一个包含可重用java代码的JAR,并从JSR223 Listener中调用它,检查“Cache compiled script if if available”。
使用默认脚本语言(Groovy)对您的呼叫进行编码:
def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());
答案 3 :(得分:0)
将下一行添加到 user.properties 文件(位于JMeter安装的" bin"文件夹中)
beanshell.sampler.init=BeanShellSampler.bshrc
logTransaction
函数放入 BeanShellSampler.bshrc 文件中(相同位置,JMeter' s" bin"文件夹)参考文献: