自定义 jar 文件未加载到 Jmeter

Custom jar file was not loaded to Jmeter

我正在测试使用 Apache Jmeter 来加载测试 java class。我建立了一个 Maven 项目并添加了 Jmeter 依赖项。我使用的是 v5.4.1 JMeter。

 <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java -->
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
            <version>5.4.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_core -->
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>5.4.1</version>
        </dependency>
    </dependencies>

下面是我简单的javaclass测试:

package jmeter.testing;

import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;

public class ClassTester extends AbstractJavaSamplerClient {
    @Override
    public SampleResult runTest(JavaSamplerContext context) {
        SampleResult result = new SampleResult();
        result.sampleStart();
        for (int i = 0; i < 100; i++) {
            System.out.println("Testing Jmeter code...");
        }
        result.setResponseCode("200");
        result.setResponseMessage("Jmeter Test");
        result.setSampleLabel("test");
        result.sampleEnd();

        return result;
    }
}

我让 Maven 构建了这个 jar 文件并将其复制到 /lib/ext 目录。 (我的 Jmeter 是通过 brew 安装的。)在我重新启动 JMeter 后,我没有在 Java Request Sampler 中看到这个 class。谁能指导我哪里错了?谢谢

[INFO] 构建 jar:/Users/alex/Documents/IntelliJ/jmeter-util/target/jmeter-util-1.0-SNAPSHOT.jar

/usr/local/Cellar/jmeter/5.4.1/libexec/lib/ext
❯ ls -ltr
-rw-r--r--@ 1 alex  staff     2726 Nov 11 17:16 jmeter-util-1.0-SNAPSHOT.jar

你能把jar文件复制到${JMETER_HOME}/bin看看能不能用?

lib/ext 文件夹用于 Jmeter 插件。它不适用于实用程序罐。您可以将实用程序 jar 放入 lib 文件夹。

您的 jar 文件需要在类路径中。 请查看 classpath configuration

上的更多详细信息

More details

另一个解决方案: 您必须将 jar 添加到本地存储库并将依赖项添加到 pom.xml.

参考:How to add jar file to a maven project

您的代码和方法应该有效,至少对我有效:

因此,请使用不同于 ../Cellar/jmeter/5.4.1/bin/jmeter

which and ls -la commands, it might be the case you have some other JMeter in your PATH 检查您的 jmeter 指向的位置

您可以查看 Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! article for more information on creating custom Java Request 采样器和其他脚本方法。