我正在尝试从 maven 生成 jmeter 仪表板报告。但是为了生成 jmeter 仪表板报告,我们必须触发一个命令,
jmeter -g /path/to/jtl/file -o /where/you/want/to/store/dashboard
但是使用 maven 我们可以做到这一点吗?我想要的是删除复制 csv 文件的所有手动过程并在 jmeter 的本地副本上运行命令。
我正在尝试从 maven 生成 jmeter 仪表板报告。但是为了生成 jmeter 仪表板报告,我们必须触发一个命令,
jmeter -g /path/to/jtl/file -o /where/you/want/to/store/dashboard
但是使用 maven 我们可以做到这一点吗?我想要的是删除复制 csv 文件的所有手动过程并在 jmeter 的本地副本上运行命令。
您可以通过额外的Exec Maven 插件任务来完成,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>generate-report-dashboard</id>
<phase>verify</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<argument>/path/to/ApacheJMeter.jar</argument>
<argument>org.apache.jmeter.NewDriver</argument>
<argument>-g</argument>
<argument>/path/to/results.jtl</argument>
<argument>-o</argument>
<argument>/path/to/report/folder<argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
有关不使用 GUI 启动 JMeter 测试的不同方法的更多信息,请参阅不使用 JMeter GUI 启动 JMeter 测试的五种方法一文
使用最新版本的jmeter-maven-plugin它将由默认配置生成。
使用 JMeter 3.3 的示例 pom.xml:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>test</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>training-project</name>
<url>http://maven.apache.org</url>
<dependencies>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.6.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
<execution>
<id>jmeter-tests2</id>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
<configuration>
<generateReports>true</generateReports>
</configuration>
</plugin>
</plugins>
</build>
</project>