我的Jmeter测试计划有两个线程。这两个线程都需要单独的CSV(csv参数化)文件。
在测试mvn verify
结束时,我预计会生成两个.jtl
文件,但只能得到一个。似乎只有1个线程正在运行。当我在GUI中运行时,它可以正常运行,而无需maven。
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo.performancetesting</groupId>
<artifactId>demo-performance-testing</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>de.codecentric</groupId>
<artifactId>jmeter-graph-maven-plugin</artifactId>
<version>0.1.0</version>
<configuration>
<inputFile>${project.build.directory}/jmeter/results/*.jtl</inputFile>
<graphs>
<graph>
<pluginType>ResponseTimesOverTime</pluginType>
<width>800</width>
<height>600</height>
<outputFile>${project.build.directory}/jmeter/results/BlazeDemoRequest.png</outputFile>
</graph>
</graphs>
</configuration>
</plugin>
</plugins>
</build>
</project>
我已经看过这些帖子,但是没有运气:
Can we run two thread groups parallely in a single test plan in Jmeter?
Why only 2 out 3 JMeter Thread group execute?
我正在使用Windows 7,Maven 3,Jmeter Maven插件
答案 0 :(得分:1)
根据建议,可以在运行测试时禁用所有侦听器。
答案 1 :(得分:0)
为什么您没有任何侦听器,为什么要生成2个jtl文件。
在这种情况下,在非GUI模式下,jmeter只会生成1个文件,这就是jmeter-maven-plugin的作用。
顺便说一句,您使用的是旧版插件2.1.0,最后一个是2.7.0。
答案 2 :(得分:0)
在调试我的问题时,我发现第二线程甚至也无法在GUI模式下工作。然后,我将.csv
文件从线程1切换到了2,发现只有1个.csv
文件始终有效。最后,在进一步挖掘之后,我发现为了运行您的.csv
,需要将其放在src/test/jmeter/testdata
文件夹中,而不是放在apache-jmeter-3.2/bin/testdata
内。
答案::第二个线程由于使用了错误的.csv
而无法正常工作。要找到它,请在Jmeter GUI中单击右上角的黄色三角形。它切换日志显示。这些日志向我显示未找到.csv
的错误。
是的,我也遇到过一些在线论坛,他们会告诉您将.csv
放在apache-jmeter-3.2\bin\testdata
内,以使路径保持相对,即不依赖于项目结构或OS。这是Jmeter中的CSV参数设置。
因此,我建议同时尝试一下,对我来说,它可以在src/test/jmeter/testdata
而不是Jmeter bin
文件夹中使用。
答案 3 :(得分:0)
只有在2种情况下,您才会生成2个.jtl文件:
src/test/jmeter
文件夹下有2个.jmx脚本../results
文件夹中(此功能自JMeter 5.0起可用)通常,如果您的JMeter测试有任何意外行为,请习惯查看 jmeter.log 文件,如果通过Maven插件执行JMeter测试,则日志文件为)位于相对于主 pom.xml 文件的target/jmeter/logs
文件夹下。通常,它应包含足够的疑难解答信息以深入研究问题。无法执行JMeter测试或线程组的最常见原因是: