You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Java调用JMeter执行测试出现Conversion Error,缺失哪些依赖?

问题原因

报错核心是测试计划my.jmx中使用了JSON后置处理器(JSONPostProcessor),但你的Java项目依赖中没有引入该组件对应的jar包,导致加载jmx文件时XStream无法解析对应类,最终testPlanTree加载为null。

需要补充的依赖(以Maven为例,版本需和你使用的JMeter 5.4.1完全匹配)

<!-- 包含JSONPostProcessor等JMeter内置组件 -->
<dependency>
    <groupId>org.apache.jmeter</groupId>
    <artifactId>ApacheJMeter_components</artifactId>
    <version>5.4.1</version>
    <scope>test</scope>
</dependency>
<!-- JSONPath解析依赖 -->
<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.6.0</version>
    <scope>test</scope>
</dependency>

额外注意的代码错误

你现有代码中加载JMeter配置的路径有误:

// 错误写法,你加载的是自己的测试类文件,不是JMeter配置文件
JMeterUtils.loadJMeterProperties("src/test/java/com/tests/JMeterTests.java");

需要改为加载JMeter安装路径下的bin/jmeter.properties文件,或者你项目中单独存放的JMeter配置文件路径,比如:

JMeterUtils.loadJMeterProperties("/usr/local/Cellar/jmeter/5.4.1/bin/jmeter.properties");

其他排查建议

如果后续还出现同类CannotResolveClassException报错,直接看报错信息里的缺失类名:

  • 如果是org.apache.jmeter开头的内置组件类,引入对应ApacheJMeter_xxx模块依赖即可,比如用到HTTP请求就引入ApacheJMeter_http
  • 如果是第三方插件类,引入对应JMeter插件的依赖即可

内容的提问来源于stack exchange,提问作者Andres Holguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:54:06