1

如果我将脚本运行为

./jmeter.sh -n -t test_load.jmx from apache-jmeter-3.0/bin 

它工作正常,而当我从 Maven 运行相同的脚本时,我得到了这个错误:

[debug] ------------------------------- : JSONPostProcessor : JSONPostProcessor
[debug] ---- Debugging information ----
[debug] message             : JSONPostProcessor
[debug] cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
[debug] cause-message       : JSONPostProcessor
[debug] class               : org.apache.jorphan.collections.ListedHashTree
[debug] required-type       : org.apache.jorphan.collections.ListedHashTree
[debug] converter-type      : org.apache.jmeter.save.converters.HashTreeConverter
[debug] path                : /jmeterTestPlan/hashTree/hashTree/hashTree/hashTree[7]/hashTree/hashTree[2]/JSONPostProcessor
[debug] line number         : 160

这是第 160 行:

    <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Path PostProcessor-UserId" enabled="true">

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.rajulonline.com</groupId>
   <artifactId>jmeter-demo</artifactId>
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>jmeter-demo</name>
   <url>http://maven.apache.org</url>
   <build>
      <plugins>
         <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>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
</project>

添加了 pom.xml、lib 文件夹和 lib/ext 文件夹的截图。手动添加了 apache jmeter 3.0 核心 jar,以及 json jar 和 jmeter extra libs jar

还附上了我的 lib & lib/ext 文件夹的截图 Screenshot_lib/ext

版本为 apache jmeter 2.13 的 Jmeter 项目apache 2.13 上的 Json 后处理器错误,在 /lib/ext 中添加了额外的库

/lib/ext 文件夹

4

1 回答 1

2

您很可能通过 jmeter-maven-plugin 使用的依赖项管理使用 2.13 版本的 JMeter 而不是 3.0。

您还使用了需要添加到 maven pom.xml 的 3rd 方插件。

注意 jmeter-maven-plugin-1.10.1 不支持 JMeter 3.0。

对 JMeter 3.0 的支持已在 2.X 版本中正式发布,具体如下:

因此,您应该升级到最新版本的 jmeter-maven-plugin 并使用作为依赖项遵循此文档:

kg.apc:jmeter-plugins-json:2.6

但是从 JMeter 3.0 开始,JMeter 核心支持 JSON 提取 OOT​​B,因此您不需要任何插件。

于 2016-05-29T19:14:10.703 回答