jmeter- nonguidriver java.lang.illegalargumentException中的错误



尝试使用maven项目执行.jmx(jmeter)。在Jmeter 3.1版本中创建JMX文件。使用Jmeter-Maven-Plugin 2.1.0。在使用-MVN CLEAN验证

中执行命令行时,请在命令行执行下面错误
[INFO]  P E R F O R M A N C E    T E S T S
[INFO] -------------------------------------------------------
[INFO] Invalid value detected for <postTestPauseInSeconds>.  Setting pause to 0...
[INFO]
[INFO]
[INFO] Executing test: CCMTestPlan.jmx
[INFO] Writing log file to: E:jmeter-mvn-masterjmeter-mvn-  mastertargetjmeterlogsCCMTestPlan.jmx.log
[INFO] Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'E:jmeter-mvn-masterjmeter-mvn-mastertargetjmetertestFilesCCMTestPlan.jmx', missing class com.thoughtworks.xstream.converters.ConversionException:
[INFO] ---- Debugging information ----
[INFO] cause-exception     : com.thoughtworks.xstream.converters.ConversionException
[INFO] cause-message       :
[INFO] first-jmeter-class  : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:67)
[INFO] class               : org.apache.jmeter.save.ScriptWrapper
[INFO] required-type       : org.apache.jorphan.collections.ListedHashTree
[INFO] converter-type      : org.apache.jmeter.save.ScriptWrapperConverter
[INFO] path                : /jmeterTestPlan/hashTree/hashTree/hashTree/hashTree[3]/com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor
[INFO] line number         : 98
[INFO] version             : 3.1 r1770033
[INFO] -------------------------------

以下是我的pom.xml文件

<build>
    <plugins>
    <plugin>
        <groupId>com.lazerycode.jmeter</groupId>
        <artifactId>jmeter-maven-plugin</artifactId>
        <version>2.1.0</version>
        <configuration>
            <testResultsTimestamp>false</testResultsTimestamp>
            <jmeterPlugins>
                <plugin>
                   <groupId>kg.apc</groupId>
                   <artifactId>jmeter-plugins-extras-libs</artifactId>
                </plugin>
            </jmeterPlugins>   
            <testFilesIncluded>
                      <testFilesIncluded>CCMTestPlan.jmx</testFilesIncluded>
            </testFilesIncluded>   
            <jmeterVersion>3.1</jmeterVersion>         
        </configuration>
        <executions>
            <execution>
                <id>jmeter-tests</id>
                <phase>verify</phase>
                <goals>
                    <goal>jmeter</goal>
                </goals>                
            </execution>
        </executions>
        <dependencies>
            <dependency>
               <groupId>kg.apc</groupId>
               <artifactId>jmeter-plugins-extras-libs</artifactId>
               <version>1.3.1</version>
            </dependency>
        </dependencies>
    </plugin>
    </plugins>
</build>

有人面对这个问题吗?

依赖项配置在插件的2.x版本中发生了变化(请参阅https://github.com/jmeter-maven-plugin/jmeter-maven-jmeter-maven-maven-maven-maven-plugin/wiki/wiki/adding--额外的上流路线)

将JAR添加到/lib/ext目录

您可以将任何其他Java库添加到Jmeter的lib/ext 通过使用<jmeterExtensions>配置元素目录。 这使用日食以太库来执行依赖性 分辨率。

<project>
    [...]
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>2.1.0</version>
                    <executions>
                        <execution>
                            <id>jmeter-tests</id>
                            <goals>
                                <goal>jmeter</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <jmeterExtensions>
                            <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
                        </jmeterExtensions>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    [...]
</project>
+---+

当您正确定义依赖项时,您可能会看到另一个错误,因为Jmeter-Plugins取决于Jmeter 2.13,后者的Maven依赖性树损坏。这是Jmeter-Plugins团队需要修复的东西(他们需要发布依赖Jmeter 3.1的Jmeter插件)。

构建会破裂,因为该插件正在尝试下载一些不存在的Jmeter-Plugins的传递依赖项,您可以通过设置来解决此问题:

<downloadExtensionDependencies>false</downloadExtensionDependencies>

这确实意味着您需要手动设置Jmeter-Plugins在<jmeterExtensions>块中依赖的所有依赖项。

您可以使用mvn dependency:tree获取Jmeter-Plugins-Extras-libs包所需的依赖项的完整列表。

上面的信息尚未进入Wiki(正在进行添加此信息并将所有内容移到网站上的持续任务),但是在ChangElog中可用:

https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/blob/master/changelog.md

use This it will work
<?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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>jmeter</groupId>
   <artifactId>qbo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>qbo</name>
   <url>http://maven.apache.org</url>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   <build>
      <plugins>
         <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>2.1.0</version>
            <configuration>
               <testResultsTimestamp>false</testResultsTimestamp>
            </configuration>
            <executions>
               <execution>
                  <configuration>
                     <testFilesDirectory>src/test/jmeter/</testFilesDirectory>
                  </configuration>
                  <id>jmeter-tests</id>
                  <phase>verify</phase>
                  <goals>
                     <goal>jmeter</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
</project>

最新更新