如何从JMeter启动Intellij Idea的Java测试?

问题描述 投票:0回答:1

我需要找到一种方法在 JMeter 中从 Intellij Idea 启动测试。我尝试使用 JUnit Request 但它支持 junit 3 和 4,而我使用 junit 5,这就是为什么无法使用此采样器的原因。此外,我还尝试通过编写初始化测试并触发其执行的代码来使用 Java 请求和 JSR223 请求。我使用了 ChatGPT 帮助,但没有成功。你能帮我一下吗?已经好几天了,问题还是没能解决。

ChatGPT 代码示例: //JSR223 采样器

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import com.example.MyTest; // Import your test class

public class MyTestRunner {
    public static void main(String[] args) {
        Result result = JUnitCore.runClasses(MyTest.class); // Replace with your test class
        System.out.println("Total tests executed: " + result.getRunCount());
        System.out.println("Total tests failed: " + result.getFailureCount());
    }
}

//Java请求采样器

import org.example.MyTest;

public class TestRunner {
    public void runTests() {
        MyTest test = new MyTest(); // Replace with your test class
        test.setup(); // Replace with your test setup method
        test.runTests(); // Replace with your test execution method
        test.tearDown(); // Replace with your test cleanup method
    }
}

// 在Java Request中,创建TestRunner的实例并调用runTests(): 新的 TestRunner().runTests();


我还将项目的 jar 放在 lib/ext 中

testing intellij-idea jmeter performance-testing junit-jupiter
1个回答
0
投票

如果这确实是您正在寻找的(我的意思是可以从 JMeter 运行所有内容,但您不太可能获得好的结果),假设您有:

您的
    测试类
  1. 复制到JMeter执行的“lib/junit”文件夹 JUnit5 及其所有
  2. 依赖项
  3. 复制到 JMeter 类路径 JMeter 类路径中的测试所需的任何其他第三方库
  4. junit-platform-launcher
  5. 位于 JMeter 类路径中(如果还没有) JMeter 重新启动以恢复一切
  6. 您应该能够使用以下代码来开始测试

import org.junit.platform.launcher.Launcher import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder import org.junit.platform.launcher.core.LauncherFactory import org.junit.platform.launcher.listeners.SummaryGeneratingListener import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass; def listener = new SummaryGeneratingListener() def request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClass(com.example.MyTest.class)) .build() Launcher launcher = LauncherFactory.create() launcher.discover(request) launcher.registerTestExecutionListeners(listener) launcher.execute(request); log.info('Passed: ' + listener.getSummary().getTestsSucceededCount()) log.info('Failed: ' + listener.getSummary().getTestsFailedCount())

演示:

有关 JMeter 中 Groovy 脚本编写的更多信息:

Apache Groovy:Groovy 的用途是什么?

© www.soinside.com 2019 - 2024. All rights reserved.