Reputation: 4487
My Jmeter Test Plan has two threads. Both threads requires separate CSV (csv parameterization) files.
At the end of test mvn verify
I expect two .jtl
files generated, but get only one. Seems only 1 thread is running. When I run in GUI then it works fine, without 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>
I have already gone through these posts but no luck:
Can we run two thread groups parallely in a single test plan in Jmeter?
Why only 2 out 3 JMeter Thread group execute?
I am using Windows 7, Maven 3, Jmeter Maven Plugin
Upvotes: 0
Views: 2302
Reputation: 46
You can disable all listeners while running tests as it is recommended.
Upvotes: 1
Reputation: 168157
You will have 2 .jtl files generated only in 2 cases:
src/test/jmeter
folder../results
folder prefixed by the test name or __threadGroupName() (the function is available since JMeter 5.0)In general in case of any unexpected behaviour of your JMeter test get used to look at jmeter.log file, in case of JMeter tests execution via Maven plugin the log file(s) is(are) located under target/jmeter/logs
folder relative to your main pom.xml file. Normally it should contain enough troubleshooting information to get to the bottom of the issue. The most common reason for JMeter test or thread groups not being executed are:
Upvotes: 0
Reputation: 4487
While debugging my issue I found that 2nd thread was not even working in GUI mode also. Then I switched the .csv
files from Thread 1 to 2, found that only 1 .csv
file always work. Finally, after further digging I found that in order to run your .csv
in need to be in src/test/jmeter/testdata
folder and not inside apache-jmeter-3.2/bin/testdata
.
Answer: Second thread was not working because it was using incorrect .csv
. To find it out click on yellow triangle on top right hand corner in Jmeter GUI. It toggles logs display. Those logs showed me error that .csv
was not found.
Yes I have also come across few online forums who would tell you to put .csv
inside apache-jmeter-3.2\bin\testdata
so that path remain relative i.e. not dependent to project structure or OS. This is CSV parameterization in Jmeter.
So, I would suggest try both, for me it worked inside src/test/jmeter/testdata
not Jmeter bin
folder.
Upvotes: 0
Reputation: 34566
why do you expect 2 generated jtl files since you don’t have any listener.
In this case in non gui mode, jmeter would generate only 1 file, this is what the jmeter-maven-plugin does.
by the way, you’re using an old version 2.1.0 of the plugin, last one is 2.7.0.
Upvotes: 0