gpt4 book ai didi

Maven+jmeter无法识别json路径提取器

转载 作者:行者123 更新时间:2023-12-01 22:56:34 26 4
gpt4 key购买 nike

我有一个 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>

Jmeter插件是:

<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/>

这个问题的解决方案是什么?

最佳答案

我也遇到了完全相同的错误。最后,按照以下步骤修复了:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Adding%20Additional%20Libraries%20To%20The%20Classpath#adding-jars-to-the-libext-directory
(阅读以下部分:将 jar 添加到/lib/ext 目录)

我所做的是:
1. 在jmeter-maven-plugin的“执行”中的“配置”中添加插件jmeter-plugins-extras-libs
2. 在“executions”外部、“dependencies”内部添加依赖项 jmeter-plugins-extras-libs

这是我的 pom 中的相关部分:

   ...
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.10.1</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
<jmeterPlugins>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
</plugin>
</jmeterPlugins>

<testResultsTimestamp>false</testResultsTimestamp>
<showthroughput>true</showthroughput>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
...

而且它成功了。我没有添加 jmeter-plugins,也不是必需的。我希望它对您有用(如果还没有的话)。

关于Maven+jmeter无法识别json路径提取器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com