如何解决jmeter 3.1兼容性问题

时间:2017-04-03 12:46:00

标签: jmeter automated-tests jmeter-plugins

enter code here我正在使用Jmeter 3.1 GUI版本。当我运行maven项目得到错误 jmeter.JMeter:NonGUIDriver中的错误java.lang.IllegalArgumentException:从中加载XML时出现问题。

我尝试过这么多的mamination依赖,它无助于解决问题。你能为jmeter3.1 jmeter-maven-plugin

提供pom.xml吗?

我的pom.xml

     <url>http://maven.apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <webapp.host></webapp.host>
</properties>
<dependencies>
    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_jdbc</artifactId>
        <version>2.10</version>
    </dependency>       
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.10</version>
    </dependency>
    <dependency>
        <groupId>kg.apc</groupId>
        <artifactId>jmeter-plugins-extras-libs</artifactId>
        <version>1.3.1</version>
    </dependency>
</dependencies>

<profiles>
    <profile>
        <id>regression-l</id>           
        <properties>
            <directory.Name>Regression</directory.Name>
            <filePath>src/test/resources/data/</filePath>                
        </properties>
    </profile>      

</profiles>      
<build>
    <plugins>
        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>1.8.1</version>
            <dependencies>
                <dependency>
                    <groupId>org.apache.jmeter</groupId>
                    <artifactId>ApacheJMeter_jdbc</artifactId>
                    <version>2.10</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.10</version>
                </dependency>
                <dependency>
                    <groupId>kg.apc</groupId>
                    <artifactId>jmeter-plugins-extras-libs</artifactId>
                    <version>1.3.1</version>
                </dependency>
            </dependencies>              
            <executions>
                <execution>
                    <id>jmeter-tests</id>
                    <phase>test</phase>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                    <configuration>
                        <jmeterPlugins>
                            <plugin>
                                <groupId>kg.apc</groupId>
                                <artifactId>jmeter-plugins-extras-libs</artifactId>
                            </plugin>
                        </jmeterPlugins>
                        <propertiesUser>
                            <user.classpath>
                                ${project.base.directory}/jmeter/lib/ext/
                            </user.classpath>
                            <filePath>${filePath}</filePath>
                            <host>${webapp.host}</host>
                        </propertiesUser>
                        <resultsFileFormat>xml</resultsFileFormat>
                        <ignoreResultFailures>true</ignoreResultFailures>
                        <ignoreResultErrors>true</ignoreResultErrors>
                        <testResultsTimestamp>true</testResultsTimestamp>
                        <appendResultsTimestamp>true</appendResultsTimestamp>
                        <resultsFileNameDateFormat>YYYY-MM-dd</resultsFileNameDateFormat>
                        <testFilesIncluded>                             
                            <jMeterTestFile>${directory.Name}/Service.jmx</jMeterTestFile>                                
                        </testFilesIncluded>
                    </configuration>
                </execution>
            </executions>
        </plugin>            
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xml-maven-plugin</artifactId>
            <version>1.0</version>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>transform</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <transformationSets>
                    <transformationSet>
                        <dir>${project.build.directory}/jmeter/results</dir>
                        <stylesheet>src/test/resources/jmeter.results.detailed.xsl</stylesheet> 
                        <outputDir>${project.build.directory}/jmeter/detailedresults</outputDir>                           
                        <fileMappers>                                
                            <fileMapper
                                implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                <pattern>(.*?)\s(.*?)</pattern>
                                <replacement>$1$2</replacement>
                                <replaceAll>true</replaceAll>
                            </fileMapper>
                            <fileMapper
                                implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                                <targetExtension>.html</targetExtension>
                            </fileMapper>
                        </fileMappers>
                    </transformationSet>
                </transformationSets>
            </configuration>
        </plugin>            
    </plugins>                           
</build> 

1 个答案:

答案 0 :(得分:0)

这是最小的工作pom.xml文件:

realpath

如果您正在使用额外的库或JMeter Plugins - 您将需要修改它以添加缺少的依赖项,对于&#34; vanilla&#34; JMeter测试它应该工作正常,因为你按照以下方式放置它(文件夹结构):

<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.blazemeter</groupId>
    <artifactId>mvn-jmeter</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>maven-jmeter-demo</name>
    <url>http://maven.apache.org</url>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.1.0</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

如果您仍然遇到问题,我们需要完整的堆栈跟踪,因为您发布的部分错误并不能说明完整的故事,因此无法指出根本原因。

参考文献: