NonGUIDriver中的错误java.lang.IllegalArgumentException

时间:2018-04-08 12:09:59

标签: jmeter jmeter-maven-plugin

我正在尝试使用' mvn verify'来运行jmeter脚本。并低于错误。我是Jmeter的新手并尝试过以前发布的解决方案但是徒劳无功。如何解决这个问题?

  

[INFO] NonGUIDriver中的错误java.lang.IllegalArgumentException:加载XML<>时出现问题,缺少类com.thoughtworks.xstream.converters.ConversionException:

<?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>dap-Jmeter</groupId>
<artifactId>Jmeter</artifactId>
<version>1</version>
<packaging>jar</packaging>

<name>jmeter-maven</name>
<url>http://maven.apache.org</url>


<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>1.App</start-class>
    <java.version>1.8</java.version>
    <msgpack.version>0.7.0-p3</msgpack.version>
    <lombok.version>1.14.8</lombok.version>
    <rest.assured.version>2.3.3</rest.assured.version>
</properties>

<dependencies>
    <dependency>
        <groupId>kg.apc</groupId>
        <artifactId>jmeter-plugins-standard</artifactId>
        <version>1.4.0</version>
    </dependency>
    <dependency>
        <groupId>kg.apc</groupId>
        <artifactId>jmeter-plugins-extras-libs</artifactId>
        <version>1.3.1</version>

    </dependency>


</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>2.7.0</version>
            <executions>
                <!-- Run JMeter tests -->
                <execution>
                    <id>jmeter-tests</id>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                </execution>
                <!-- Fail build on errors in test -->

            </executions>
            <configuration>
                <jmeterExtensions>
                    <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>


                </jmeterExtensions>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

2 个答案:

答案 0 :(得分:0)

检查target/jmeter/logs文件夹,它应该有您的测试的完整日志文件,我的期望是您的测试依赖于{{3中缺少的插件或第三方.jar文件如果你需要在测试中使用像RestAssured和Lombok这样的东西,你需要添加一些不同的东西

<configuration>
    <testPlanLibraries>
        <artifact>org.msgpack:msgpack-core:0.7.0-p3</artifact>
        <articact>org.projectlombok:lombok:1.14.8</articact>
        <artifact>com.jayway.restassured:rest-assured:2.3.3</artifact>
    </testPlanLibraries>
    <jmeterExtensions>
        <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
        <articact>kg.apc:jmeter-plugins-standard:1.4.0</articact>
    </jmeterExtensions>
    <downloadExtensionDependencies>false</downloadExtensionDependencies>
</configuration>

完整 pom.xml 以防万一:

<?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>com.example</groupId>
    <artifactId>com.example.jmeter</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.7.0</version>
                <executions>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <!-- Fail build on errors in test -->
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <testPlanLibraries>
                        <artifact>org.msgpack:msgpack-core:0.7.0-p3</artifact>
                        <articact>org.projectlombok:lombok:1.14.8</articact>
                        <artifact>com.jayway.restassured:rest-assured:2.3.3</artifact>
                    </testPlanLibraries>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
                        <articact>kg.apc:jmeter-plugins-standard:1.4.0</articact>
                    </jmeterExtensions>
                    <downloadExtensionDependencies>false</downloadExtensionDependencies>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

参考文献:

答案 1 :(得分:0)

以下POM解决了这个问题。

<dependencies>
    <dependency>
      <groupId>kg.apc</groupId>
      <artifactId>jmeter-plugins-extras-libs</artifactId>
      <version>1.3.1</version>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>com.lazerycode.jmeter</groupId>
        <artifactId>jmeter-maven-plugin</artifactId>
        <version>2.7.0</version>
        <executions>
          <execution>
            <id>jmeter-tests</id>
            <goals>
              <goal>jmeter</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <jmeterExtensions>
            <artifact>kg.apc:jmeter-plugins-casutg:2.4</artifact>

            <artifactId>kg.apc:jmeter-plugins-extras-libs:1.3.1</artifactId>

          </jmeterExtensions>
          <!-- The plugin uses some broken dependencies
               An alternative is to set this to true and use excludedArtifacts, see below
          -->
          <downloadExtensionDependencies>false</downloadExtensionDependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>