以往使用JMeter,主要是用软件的GUI来添加、调试case, 用命令行方式来做性能测试,最近尝试将JMeter加入maven工程里,调用方式更加简单,还省去了下载安装JMeter软件的工夫,一切就交给Maven吧~
具体实现:
1. 用intellij IDEA新建一个maven工程。
2. 在pom.xml文件里配置, jmeter-maven-plugin的version要自行选择,每个版本对maven和java的要求不同,具体参照github上的changelog:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/blob/master/CHANGELOG.md
我的mvn版本3.5.0,java 1.8.0.11,所以我选了2.8.3(对应jmeter软件的版本是5.0)。另外因为我的case里有用到json格式的数据,额外加了个json的plugin。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycorp</groupId>
<artifactId>test</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-jmeter-demo</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.8.3</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<jmeterExtensions>
<artifact>kg.apc:jmeter-plugins-json:2.5</artifact>
</jmeterExtensions>
<!-- The plugin uses some broken dependencies
An alternative is to set this to true and use excludedArtifacts, see below
-->
<downloadExtensionDependencies>true</downloadExtensionDependencies>
</configuration>
</plugin>
</plugins>
</build>
</project>
3. 让IDE帮忙import changes。
4. 如果需要准备case,可以打开teminal,输入:
mvn jmeter:gui
就可以通过GUI来创建group,添加调试case,运行case等一系列操作,和用软件版么得区别。
5. case准备好之后,需要保存在*/test/jmeter/<你起的名字>.jmx
6. 最后就是运行测试了,打开terminal
mvn clean verify
7. 查看运行结果,运行时log以及测试报告,都在*/target/jmeter/里找: