首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven+jmeter无法识别json路径提取器

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

Stack Overflow用户
提问于 2015-09-09 18:15:01
回答 2查看 1.4K关注 0票数 2

我有一个jmx文件,它有一个JSON路径提取器,可以解析其中一个请求的JSON响应。当我在GUI模式下运行该测试计划时,它工作得非常好。但是,当我使用lazerycode插件在maven中运行它时,同样的情况并不能很好地运行。我在POM.xml中添加了如下依赖项:

代码语言:javascript
复制
        <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是:

代码语言:javascript
复制
<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

代码语言:javascript
复制
     [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 JSONPathExtractorGui.class -1.0.0.jar中看到插件

Jmx包含以下用于JSON路径提取逻辑的行:

代码语言:javascript
复制
<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/>

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

EN

回答 2

Stack Overflow用户

发布于 2016-02-23 18:08:07

我也得到了完全相同的错误。最后,它被修复后,如下所示:

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插件的“执行”中的“配置”中添加插件jmeter插件extras libs。

2、将依赖项jmeter插件extras libs添加到“executions”之外的“dependencies”之内

以下是我的pom中的相关部分:

代码语言:javascript
复制
   ...
   <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插件,也不是必需的。我希望它对你有用,如果还没有的话。

票数 4
EN

Stack Overflow用户

发布于 2015-09-10 00:24:30

您可能还需要添加其他jmeter插件:

代码语言:javascript
复制
<jmeterPlugins>
<plugin>
  <groupId>kg.apc</groupId>
  <artifactId>jmeter-plugins-common</artifactId>
</plugin>
<plugin>
  <groupId>kg.apc</groupId>
  <artifactId>jmeter-plugins-standard</artifactId>
</plugin>
<plugin>
  <groupId>kg.apc</groupId>
  <artifactId>jmeter-plugins-extras</artifactId>
</plugin>
<plugin>
  <groupId>kg.apc</groupId>
  <artifactId>jmeter-plugins-extras-libs</artifactId>
</plugin>
</jmeterPlugins>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32476825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档