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:BR BR Remote Repository
- Create a locally hosted remote Maven repository, if you don't already have one.
- Configure your pom to utilize this remote repository.
Deploy JMeter Jar
Deploy the attached [^jmeter-2.2.jar JMeter jar] and [^jmeter-2.2.pom POM] to your remote repository (note that you do not need to have JMeter separately installed). For example:
mvn deploy:deploy-file -DgroupId=org.apache.jmeter -DartifactId=jmeter -Dversion=2.2 -Dpackaging=jar -Dfile=c://downloads//jmeter//jmeterPlugin/jmeter-2.2.jar -DpomFile=c://downloads//jmeter//jmeterPlugin/jmeter-2.2.pom -Durl=file:////myRepoHost.com/FileShare/ProductDevelopment/ApplicationDevelopment/maven2repository -DrepositoryId=my-repo
Deploy Dependencies
- Add the jar files that are referenced in the JMeter POM to your local repository, via the deploy plugin, if they are not on ibiblio.
Install the Plugin
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:
<dependency> <groupId>org.apache.jmeter</groupId> <artifactId>maven-jmeter-plugin</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
Configure the Plugin
- 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:
<build> <plugins> <plugin> <groupId>org.apache.jmeter</groupId> <artifactId>maven-jmeter-plugin</artifactId> <configuration> <includes> <include>myTest1.jmx</include> <include>myTest2.jmx</include> </includes> </configuration> </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:
<build> <plugins> <plugin> <groupId>org.apache.jmeter</groupId> <artifactId>maven-jmeter-plugin</artifactId> <configuration> <includes> <include>myTest1.jmx</include> <include>myTest2.jmx</include> </includes> <reportDir>target/jmeter-reports</reportDir> </configuration> </plugin> </plugins> </build>
Executing the Plugin
- Run "mvn org.apache.jmeter:maven-jmeter-plugin:jmeter" to run the tests.