Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Markup corrected
Note

Please note: the JMeter Maven plugin is a 3rd party product; it is not part of the Apache JMeter project


JMeter Maven Plugin

This is a Maven 3 plugin that allows you to run JMeter tests as part of the build.

Install the Plugin

This plugin is available from the maven central repository, as long as you have a working install of maven you only need to create a valid pom.xml that references this plugin.

Basic Configuration

  • Create a src/test/jmeter directory, and place your JMeter load tests there.
  • Add the plugin to your pom.xml

    No Format
    
    +---+
    <project>
        [...]
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>com.lazerycode.jmeter</groupId>
                        <artifactId>jmeter-maven-plugin</artifactId>
                        <version>2.8.5</version>
                        <executions>
                            <execution>
                        

Wiki Markup
This is a Maven 2 plugin that allows you to run JMeter tests as part of the build.  I am using this with \[http://jchav.blogspot.com/ JChav\] and \[http://maven.apache.org/continuum/ Continuum\] to automate the running of a suite of JMeter load tests, and publish the results to a web page.  Sorry this is not more polished.  It could use some TLC to make it more user-friendly to actually plug it into a project.  I just thought I'd stick the code out there as quickly as possible and see if anyone is interested in it before I went any further with it.

To build and use the plugin:

  • Create a local Maven repository, if you don't already have one.
  • Wiki Markup
    Drop in the attached \[^jmeter-2.2.jar JMeter jar\] and \[^jmeter-2.2.pom POM\].  You do not need to have JMeter separately installed.
  • Add the jar files that are referenced in the JMeter POM to your local repository, if they are not on ibiblio.
  • Wiki Markup
    Download the attached \[^maven-jmeter-plugin-src.tar.gz Maven JMeter Plugin source tarball\].  Untar it.
  • Run "mvn install" to build and install the plugin.
  • In your project's pom.xml, add a dependency on this plugin:
    No Format
    
    <dependency>
      <groupId>org.apache.jmeter</groupId>
      <artifactId>maven-jmeter-plugin</artifactId>
      <version>1.0-SNAPSHOT</version>
      <type>plugin</type>
    </dependency>
  • Create a src/test/jmeter directory, and place your JMeter load tests there.
  • Create a jmeter.properties file in src/test/jmeter. It's fine to just copy the default properties file from the JMeter install if you want.
  • Optionally configure includes and excludes in your pom.xml for which tests to run. If you don't, it will just run **/*.jmx. For example:
    No Format
    
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>maven<id>jmeter-jmeter-plugin<tests</artifactId>
    id>
                      <configuration>
              <goals>
                 <includes>
                       <include>myTest1.jmx<<goal>jmeter</include>goal>
                 <include>myTest2.jmx</include>
                   </includes>goals>
                            </configuration>execution>
              </plugin>
               </plugins>
      </build> 
  • The default reports directory is 'jmeter-reports' which is created in the base folder ( usually where maven is run from )
  • Changing the reports directory : Add a reportDir setting to the plugin configuration. for example:
    No Format
     <execution>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>maven<id>jmeter-jmetercheck-plugin<results</artifactId>
    id>
                      <configuration>
              <goals>
                 <includes>
                       <include>myTest1.jmx<<goal>results</include>goal>
                   <include>myTest2.jmx</include>
                 </goals>
                            </includes>execution>
              <reportDir>target/jmeter-reports</reportDir>
              </executions>
                    </configuration>plugin>
                </plugin>plugins>
            </plugins>pluginManagement>
        </build>
        [...]
    </project>
    +---+
    


Executing the Plugin

  • Run "mvn org.apache.jmeter:maven-jmeter-plugin:jmeter" to run the tests.

...

  • clean verify" to run the tests (Best practice would be to assign the JMeter tests to a specific profile so that they only run when invoking that profile).

External Links

The source code for this plugin can be found at https://github.com/jmeter-maven-plugin/jmeter-maven-plugin

The official website is available at https://jmeter.lazerycode.com

The github wiki has more detailed configuration information and is available at https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki

Tutorial