问题描述
我正在尝试使用-
在Java代码(类似于this)中加载jmx测试计划。hashtree testPlanTree = SaveService.loadTree(new File("<path-to-jmx>"));
它适用于基本测试计划,但是,如果我使用Arrivals Thread组之类的任何插件加载测试计划,则会引发异常。插件已安装在我的本地计算机上(jar文件位于
我得到的异常-
...Exception in thread "main" java.lang.IllegalArgumentException: Problem loading XML from:'<path-to-jmx>'.
Cause:
CannotResolveClassException: com.blazemeter.jmeter.threads.arrivals.ArrivalsThreadGroup
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging @R_930_4045@ion ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.hashtreeConverter.unmarshal(hashtreeConverter.java:66)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashtree/hashtree/com.blazemeter.jmeter.threads.arrivals.ArrivalsThreadGroup
line number : 64
version : 5.3
-------------------------------
at org.apache.jmeter.save.SaveService.readTree(SaveService.java:458)
at org.apache.jmeter.save.SaveService.loadTree(SaveService.java:431)....
解决方法
为了能够以编程方式启动JMeter测试,您需要在项目dependencies中拥有所有插件(以及它们的CLASSPATH)
如果由于某种原因您无法拥有所有插件,或者它们的数量/性质不确定,至少可以在项目中添加JMeter Plugins Manager,它会提供诸如getPluginStatus()
或{{3} },可用于检测已安装的插件,使用getAllPluginsStatus()
来检查所需的插件,等等。
更多信息:TestPlanAnalyzer
,您确定没有丢失插件的依赖项吗?
- jmeter-plugins-cmn-jmeter-0.6.jar
如果没有,请显示完整的jmeter.log文件