Search code examples
mavenjmeterjmeter-pluginsjmeter-maven-plugin

How to have maven run just JMeter tests (no other life cycles)


We're using the maven-jmeter-plugin and I've setup a jmeter profile. When I run mvn -Pjmeter verify the various maven life cycles get run, but none of them need to.

How can I run just the JMeter tests?

<profile>
  <id>jmeter</id>
  <build>
    <plugins>
      <plugin>
        <groupId>com.lazerycode.jmeter</groupId>
        <artifactId>jmeter-maven-plugin</artifactId>
        <version>${jmeter.version}</version>
        <executions>
          <execution>
            <id>jmeter-tests</id>
            <phase>verify</phase>
            <goals>
              <goal>jmeter</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <testResultsTimestamp>false</testResultsTimestamp>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>

Solution

  • Unfortunately, it looks like the author of the plugin did not implement a MOJO that would support direct invocation, hence the plugin must be used as a part of lifecycle execution — within the <build> section.

    If you need to run tests quickly, you could try to temporarily change the <phase> to some earlier one, for example validate. I'm sure, though, this is not the phase the plugin intended to be run in, so you can't change this permanently.