【发布时间】:2015-09-09 10:15:00
【问题描述】:
我有一个 jmx 文件,其中包含 JSON 路径提取器,它解析其中一个请求的 JSON 响应。当我在 GUI 模式下运行这个测试计划时,它运行得非常好。 但是当我使用 lazerycode 插件通过 maven 运行它时,同样运行不正常。 我在 POM.xml 中添加了依赖项:
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins</artifactId>
<version>1.0.0</version><!-- old:1.0.0 -->
<exclusions>
<exclusion>
<groupId>kg.apc</groupId>
<artifactId>perfmon</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.jmeter</groupId>
<artifactId>jorphan</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
</exclusion>
</exclusions>
</dependency>
而 Jmeterplugins 是:
<jmeterPlugins>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
</plugin>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins</artifactId>
</plugin>
但我在运行 maven 时遇到以下错误:mvn clean verify
[info] Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading
XML from:'C:\Users\user1\workspace\loadtest\loadTestModule\src\test
\jmeter\testscript.jmx', conversion error com.thoughtworks.xst
ream.converters.ConversionException: com.atlantbh.jmeter.plugins.jsonutils.jsonp
athextractor.JSONPathExtractor : com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor
我可以在 com/atlantbh/jmeter/plugins/jsonutils/jsonpathextractor/gui 下的 jmeter-plugins-1.0.0.jar 中看到 JSONPathExtractorGui.class。
Jmx 对 JSON 路径提取逻辑有以下几行:
<hashTree/>
<com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
<stringProp name="TestPlan.comments">$..url[*]</stringProp>
<stringProp name="VAR">url</stringProp>
<stringProp name="JSONPATH">$..url[*]</stringProp>
<stringProp name="DEFAULT"></stringProp>
<stringProp name="VARIABLE"></stringProp>
<stringProp name="SUBJECT">BODY</stringProp>
</com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
<hashTree/>
这个问题的解决方法是什么?
【问题讨论】: