0

我目前正在将 jmeter 与 maven 集成。
使用
Jakarta-Jmeter 2.4
依赖项——Jmeter2.3 和所有受支持的 jars
我正在通过 GUI 创建测试计划并使用 jmx 保存它。
我正在使用 maven-jmeter-plugin 1.0 并在 maven-jmeter-plugin 中添加两个依赖项 soap 和 common-logging。
通过在我运行 mvn verify 时执行此操作,它会给出一个错误:

` INFO] Executing test: C:\Documents and Settings\339298\Desktop\simple-webapp2\s
rc\test\jmeter\Graph Results.jmx
Error in NonGUIDriver java.lang.NullPointerException
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.156s
[INFO] Finished at: Mon Aug 22 19:17:58 IST 2011
[INFO] Final Memory: 4M/8M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.jmeter:maven-jmeter-plugin:1.0:jmeter
(jmeter-tests) on project simple-webapp2: There were test errors -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.jmeter:maven-jmeter-plugin:1.0:jmeter (jmeter-tests) on project simple
-webapp2: There were test errors
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:199)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:148)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:140)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:316)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:451)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:188)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:134)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
Caused by: org.apache.maven.plugin.MojoFailureException: There were test errors
        at org.apache.jmeter.JMeterMojo.checkForErrors(JMeterMojo.java:115)
        at org.apache.jmeter.JMeterMojo.execute(JMeterMojo.java:102)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:107)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:195)
        ... 19 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc
eption
'

我的项目 Pom 是:

'<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>org.parveen.webExample</groupId>
  <artifactId>simple-webapp2</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>simple-webapp Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
            <groupId>org.parveen.coreExample</groupId>
            <artifactId>simple-core</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    <dependency>
            <groupId>ApacheJMeter_core</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>1.0</version>
        </dependency>






    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
  </dependencies>
  <build>
    <finalName>simple-webapp</finalName>
    <!-- <directory>C:\Documents and Settings\339298\Desktop\parveen</directory>-->
    <plugins> 
      <plugin>
        <groupId>org.mortbay.jetty</groupId> 
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.26</version> 
      </plugin> 

        <!--<plugin>
           <groupId>org.apache.jmeter</groupId>
           <artifactId>maven-jmeter-plugin</artifactId>
            <version>1.0</version>
     <executions>
                     <execution>
                           <phase>integration-test</phase>
                         <id>jmeter-tests</id>

                       <goals>
                             <goal>jmeter</goal>
                         </goals>
                     </execution>
                 </executions>
         </plugin>-->
         <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <goalPrefix>plugin</goalPrefix>
          <outputDirectory>target</outputDirectory>
        </configuration>
      </plugin>


            <plugin>         
               <groupId>org.apache.jmeter</groupId> 
               <artifactId>maven-jmeter-plugin</artifactId>     
                <version>1.0</version>         
                <executions>               
                  <execution>                  
                      <id>jmeter-tests</id>       
                      <phase>verify</phase> 
                      <goals>  
                           <goal>jmeter</goal>                  
                      </goals>                   
                      <configuration>                      
                         <reportDir>${project.build.directory}/jmeter-reports</reportDir>  
                       </configuration>               
                  </execution>          
                </executions>       
            </plugin>       
            <plugin>          
                  <groupId>org.codehaus.mojo</groupId>           
                  <artifactId>xml-maven-plugin</artifactId>          
                  <version>1.0-beta-2</version>          
                  <executions>               
                    <execution>               
                      <phase>pre-site</phase>               
                         <goals>                   
                      <goal>transform</goal>               
                      </goals>               
                      </execution>           
                   </executions>           
                   <configuration>              
                      <transformationSets>                   
                        <transformationSet>                      
                            <dir>${project.build.directory}/jmeter-reports</dir>                 
                            <stylesheet>src/test/resources/jmeter-results-detail-report_21.xsl</stylesheet>                      
                            <outputDir>${project.build.directory}/site/jmeter-results</outputDir>                       
                            <fileMappers>                           
                              <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">   
                                <targetExtension>html</targetExtension>                        
                              </fileMapper>                      
                             </fileMappers>                  
                         </transformationSet>               
                       </transformationSets>           
                     </configuration>       
                </plugin>   
          </plugins>


  </build>
</project>
'

在网上,我得到了三个解决方案:

  1. 爪哇版
  2. 添加soap和common-loggin依赖
  3. 在 .jmx 文件中,TestPlan 标签应该是根 elemnrt 并通过右键单击 TestPlan 保存测试

但是,这些都不适合我。

4

3 回答 3

1

使用最新版本(撰写本文时为 1.4)。

它现在可以在中央 maven 存储库中找到,更多信息请查看项目网站 -> http://jmeter.lazerycode.com

于 2012-02-15T15:03:03.350 回答
0

请注意,如果您使用的是 JMeter 2.4 中的 JMeter 功能(即 JMeter 2.3 中不存在),maven-jmeter-plugin 将不是最新的,也不会正确处理它——因为它基于 JMeter 2.3。

我还会查看您的 jmeter.log 以获取更多信息。

于 2011-09-13T11:27:14.753 回答
0

我在使用 1.10.1 版本时遇到了同样的问题,并意识到我正在使用自定义插件。删除它们并使用开箱即用的 jmeter 测试计划解决了这个问题。

于 2015-09-09T10:24:52.063 回答