JMeter Plugins when Executing from Maven

2020-07-06 06:09发布

Is it possible to use JMeter Plugins when executing JMeter from the jmeter-maven-plugin?

UPDATE

I've tried adding the jmeter-plugins dependency to the plugin definition as per Ardesco's helpful answer, but I get a myriad of ClassNotFoundExceptions. It seems like Maven is not putting jmeter-plugin's transitive dependencies on the classpath when executing JMeter. Any ideas?

2条回答
再贱就再见
2楼-- · 2020-07-06 06:47

Although this answer is accepted, it only works for versions before 2.X. But for version higher than 2.X, see this answer.

Yup, you can add any libraries you require by adding dependencies to the plugin, any explicitly defined dependencies will be copied to your jmeter/lib directory.

If the dependency is a JMeter plugin you can specify this in your configuration and then that dependency will be copied to your meter/lib/ext directory:

<plugin>
    <groupId>com.lazerycode.jmeter</groupId>
    <artifactId>jmeter-maven-plugin</artifactId>
    <version>1.9.0</version>
    <executions>
        <execution>
            <id>jmeter-tests</id>
            <phase>verify</phase>
            <goals>
                <goal>jmeter</goal>
            </goals>
            <configuration>
                <jmeterPlugins>
                    <plugin>
                        <groupId>kg.apc</groupId>
                        <artifactId>jmeter-plugins</artifactId>
                    </plugin>
                </jmeterPlugins>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>kg.apc</groupId>
            <artifactId>jmeter-plugins</artifactId>
            <version>1.1.3</version>
        </dependency>
    </dependencies>
</plugin>

This functionality was broken before version 1.9.0.

查看更多
Anthone
3楼-- · 2020-07-06 06:59

Use version 2.6.0 or upper of the plugin

and add:

<configuration>
    <jmeterExtensions>
         <artifacts>kg.apc:jmeter-plugins-casutg:2.4</artifacts>
    </jmeterExtensions>
    <excludedArtifacts>
        <exclusion>commons-pool2:commons-pool2</exclusion>
        <exclusion>commons-math3:commons-math3</exclusion>
    </excludedArtifacts>
    ...
</configuration>

See this tutorial for a complete overview of using the maven plugin :

查看更多
登录 后发表回答