Jmeter:如何在不同的 JMX 文件之间重用自定义 java 函数
Jmeter: How to reuse custom java function between different JMX file
要求:Post 每个采样器对 Mongo 数据库的响应时间,为此创建了一个 HttpClient java 代码(Class 函数)。
问题:需要调用自定义(在 150+ jmx 文件之间重复使用相同的代码)Java 在每个采样器之后从 Beanshell 调用的函数。
void logTransaction(responseTime,samplerName);
解决方案需要:将自定义 java 函数(.c 或 .txt)与 jmx 文件合并。
例如,在 Load runner 中,我们可以包含具有可重用代码的 .h 文件(在公共路径中共享)并包含在 globals.h 中。
有没有jmeter可用的方法或解决方案?
您可以 运行 相同的脚本文件 JSR223 Sampler 也支持 Java/Beanshell 语言。
在 Script file
字段中输入脚本文件名和 e
在不同的 jmx 文件中重用它
将下一行添加到 user.properties 文件(位于 JMeter 安装的 "bin" 文件夹中)
beanshell.sampler.init=BeanShellSampler.bshrc
- 将您的
logTransaction
函数放入 BeanShellSampler.bshrc 文件(同一位置,JMeter 的 "bin" 文件夹)
- 下次启动 JMeter 时,您将能够从任何脚本中的任何 Beanshell Sampler 调用该函数
参考文献:
代码可以通过保存在 java 文件中并在 JSR223 中给出文件路径来重复使用。
创建一个包含可重用 java 代码的 JAR 并从 JSR223 侦听器调用它检查 "Cache compiled script if available"。
使用默认脚本语言 (Groovy) 对您的调用进行编码:
def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());
要求:Post 每个采样器对 Mongo 数据库的响应时间,为此创建了一个 HttpClient java 代码(Class 函数)。
问题:需要调用自定义(在 150+ jmx 文件之间重复使用相同的代码)Java 在每个采样器之后从 Beanshell 调用的函数。
void logTransaction(responseTime,samplerName);
解决方案需要:将自定义 java 函数(.c 或 .txt)与 jmx 文件合并。
例如,在 Load runner 中,我们可以包含具有可重用代码的 .h 文件(在公共路径中共享)并包含在 globals.h 中。
有没有jmeter可用的方法或解决方案?
您可以 运行 相同的脚本文件 JSR223 Sampler 也支持 Java/Beanshell 语言。
在 Script file
字段中输入脚本文件名和 e
在不同的 jmx 文件中重用它
将下一行添加到 user.properties 文件(位于 JMeter 安装的 "bin" 文件夹中)
beanshell.sampler.init=BeanShellSampler.bshrc
- 将您的
logTransaction
函数放入 BeanShellSampler.bshrc 文件(同一位置,JMeter 的 "bin" 文件夹) - 下次启动 JMeter 时,您将能够从任何脚本中的任何 Beanshell Sampler 调用该函数
参考文献:
代码可以通过保存在 java 文件中并在 JSR223 中给出文件路径来重复使用。
创建一个包含可重用 java 代码的 JAR 并从 JSR223 侦听器调用它检查 "Cache compiled script if available"。
使用默认脚本语言 (Groovy) 对您的调用进行编码:
def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());