【wiki翻译】jmeter-maven-plugin系列之初学者文档

本文介绍了如何在Java项目中使用jmeter-maven-plugin插件,包括添加到pom.xml、设置环境要求、配置插件版本、执行测试流程以及控制JMeter的运行。详细说明了Maven各个阶段与插件目标的对应关系和命令行操作指南。

 jmeter-maven-plugin插件下载地址

插件使用环境要求:

 >= JDK 8, Maven >= 3.5.2 and uses Apache JMeter 5.5.

将插件添加到您的pom.xml的构建部分(最佳实践是定义您想要在pom.xml或父pom.xml中使用的Maven JMeter插件的版本)

<project>
    [...]
        <build>
            <plugins>
                <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>3.6.0</version>
                <executions>
                    <!-- Generate JMeter configuration -->
                    <execution>
                        <id>configuration</id>
                        <goals>
                            <goal>configure</goal>
                        </goals>
                    </execution>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <!-- Fail build on errors in test -->
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            </plugins>
        </build>
    [...]
</project>

插件默认使用JMeter提供的默认属性文件。如果需要覆盖这些文件中的任何一个,只需要在${project.base.directory}/src/test/jmeter中创建一个替换文件即可。

如果在${project.base.directory}/src/test/jmeter中找到以下属性文件,则会使用它们:

  • jmeter.properties
  • saveservice.properties
  • upgrade.properties
  • system.properties
  • user.properties
  • global.properties

插件将复制${project.base.directory}/src/test/jmeter/中保存的所有JMX测试文件目录及所有子目录到${project.build.directory}/jmeter/testFiles。

任何子目录都将被平铺,目录路径将用于创建测试文件名。然后将使用${project.build.directory}/jmeter/testFiles中的所有文件运行测试。

对于其他配置文件,如log4j2.xml,请使用${project.base.directory}/src/test/conf文件夹。

使用命令运行

一旦配置了POM,就可以运行测试了。打开终端/命令提示符,然后输入:

mvn clean verify

JMeter -maven-plugin将运行JMeter测试的过程分解为多个阶段:

运行jmeter测试过程分解
Maven阶段Jmeter Maven插件目标描述
汇编(compile)configure这将下载所有必需的依赖项,并在目标目录的唯一目录中配置JMeter的本地实例,以运行测试。
集成测试(integration-test)jmeter这将利用在编译阶段创建的本地配置的JMeter实例来执行测试。
核实(verify)results这将扫描测试运行的结果,并确定构建是否应该失败。

配置JMeter时,配置与执行ID相关联。这个执行ID随后由其他阶段提供,以确保我们运行正确配置的JMeter实例。由于我们在上述文档中建议配置的执行ID,因此我们也将后面阶段的预期执行ID默认为配置。

可以通过如下方式更改默认的执行ID,例如:

<!-- Generate JMeter configuration -->
<execution>
  <id>bananas</id>
  <goals>
    <goal>configure</goal>
  </goals>
</execution>

然而,如果你这样做,你将需要修改其他阶段的配置,以便它知道使用哪个执行ID,例如:

<!-- Run JMeter tests -->
<execution>
  <id>jmeter-tests</id>
  <goals>
    <goal>jmeter</goal>
  </goals>
  <configuration>
    <selectedConfiguration>bananas</selectedConfiguration>
  </configuration>
</execution>

当尝试在命令行上运行特定目标时,理解上述内容很重要。如果您已经运行了一次测试,但是您想再次运行它们,那么您不需要再次运行编译阶段,您可以只运行如下命令即可:

mvn jmeter:jmeter

jmeter目标将始终使用POM中指定的<selectedConfiguration>来查找特定的jmeter配置。如果要针对已为其运行配置目标的其他配置运行测试,可以使用以下命令指定要使用的配置:

mvn jmeter:jmeter -DselectConfiguration=configuration
启动JMeter GUI

可以使用以下命令运行JMeter GUI:

mvn jmeter:configure jmeter:gui

gui目标使用当前的执行ID来设置它所选择的配置,而不是使用selectConfiguration属性。这是因为它被设计为独立运行,不需要在POM.xml中进行任何配置。由于在上面的示例中没有指定执行ID,两个命令都将使用默认的Maven执行ID default-cli。
如果希望使用特定配置启动GUI,可以指定相关的Execution ID。如果我们假设已经使用POM.xml中指定的配置的执行ID运行了配置目标,则要加载GUI,则需要运行如下命令:

mvn jmeter:gui@configuration

如果你想预加载一个测试,你可以在命令行中指定:

mvn jmeter:configure jmeter:gui -DguiTestFile=src/test/jmeter/test.jmx

如果你还没有将插件添加到你的项目中,你仍然可以调用它(只要你在你的项目中有一个有效的pom.xml),使用以下方法:

mvn com.lazerycode.jmeter:jmeter-maven-plugin:configure com.lazerycode.jmeter:jmeter-maven-plugin:gui

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值