A Maven plugin that integrates Apache JMeter performance tests into your Maven build lifecycle.
JMeter Maven Plugin is a Maven plugin that integrates Apache JMeter performance testing into Maven projects. It allows developers to run JMeter load tests as part of their build process, automating performance validation and enabling shift-left testing practices. The plugin handles test execution, results analysis, and build failure based on performance thresholds.
Java developers and DevOps engineers using Maven who need to incorporate performance testing into their build pipelines. Teams practicing continuous integration and delivery who want automated load testing.
It provides seamless integration between JMeter and Maven, eliminating manual test execution and making performance testing a repeatable part of the build process. Unlike running JMeter separately, it enables automated, consistent performance validation within CI/CD workflows.
The JMeter Maven Plugin
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates JMeter tests directly into Maven build phases like 'verify', automating performance testing as part of the standard development workflow, as shown in the basic usage example with executions for configuration and testing.
Runs JMeter tests without GUI intervention, enabling continuous integration and deployment pipelines, which is highlighted in the CI/CD ready feature and allows for repeatable builds in environments like Jenkins.
Can be configured to fail the build if performance thresholds are exceeded, enforcing quality gates early in the lifecycle, as mentioned in the results validation feature through the 'results' goal execution.
Supports custom JMX files and data files with pattern-based test selection, allowing for dynamic test suites, referenced in the Wiki for selecting tests via properties like 'testFilesIncluded'.
Allows invoking the JMeter GUI via Maven commands like 'mvn jmeter:gui' for test creation and debugging, providing a hybrid workflow as described in the 'Running the GUI' section.
Configuration details are housed in a separate GitHub Wiki rather than the main README, which can make setup and troubleshooting more cumbersome and less accessible for new users.
Only supports JDK versions 8 to 17, with noted issues for Java 11, limiting adoption in projects using newer Java releases, as specified in the requirements with links to known bugs.
Defaults to a specific JMeter version (5.6.2) and requires explicit configuration for changes, which can lead to version lock-in and upgrade complexities, especially with breaking changes in JMeter updates.
Requires adding multiple plugin executions and understanding Maven lifecycle phases, which might be overkill for simple or infrequent testing needs, as seen in the basic usage with three separate executions.