user2626431
user2626431

Reputation: 457

jmeter maven csv jtl file

I am running a few jmeter test plans together through jmeter-maven-plugin. I can see jtl files generated for each test plan. But the file content is in xml. I tried modifying the pom file to have resultsFileFormat as csv but it still generates xml format jtl file. My current plugin config looks like this,

`<plugins>
 <plugin>
 <groupId>com.lazerycode.jmeter</groupId>
 <artifactId>jmeter-maven-plugin</artifactId>
 <version>2.0.3</version>
            <executions>
                <execution>
                    <id>jmeter-tests</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                    <configuration>
                            <resultsFileFormat>csv</resultsFileFormat>
                            <propertiesJMeter>
                                <jmeter.save.saveservice.print_field_names>true</jmeter.save.saveservice.print_field_names>
                                <jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful>
                                <jmeter.save.saveservice.label>true</jmeter.save.saveservice.label>
                                <jmeter.save.saveservice.time>true</jmeter.save.saveservice.time>
                            </propertiesJMeter>
                    </configuration>
                </execution>
            </executions>
        </plugin>

    </plugins>

Please let me know how I could make the jtl content to be generated as csv.

Upvotes: 2

Views: 2658

Answers (1)

Dmitri T
Dmitri T

Reputation: 168002

You need to do it a little bit differently, your settings should go to the <propertiesUser> section like:

<execution>
    <id>jmeter-tests</id>
    <phase>verify</phase>
    <goals>
        <goal>jmeter</goal>
    </goals>
    <configuration>
        <propertiesUser>
            <jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format>
            <jmeter.save.saveservice.print_field_names>true</jmeter.save.saveservice.print_field_names>
            <jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful>
            <jmeter.save.saveservice.label>true</jmeter.save.saveservice.label>
            <jmeter.save.saveservice.time>true</jmeter.save.saveservice.time>
        </propertiesUser>
    </configuration>
</execution>

Or alternatively create your own user.properties file with the following lines:

jmeter.save.saveservice.label=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.print_field_names=true

and drop it to "/src/test/jmeter" folder (where your .JMX files live)

As far as I'm aware, JMeter Maven plugin uses XML results file format by default and this configuration is applied via jmeter.properties file.

JMeter properties have the following overrides:

  1. jmeter.properties
  2. user.properties
  3. command-line arguments

So you can override a property stored in jmeter.properties file via setting the same property in user.properties file and override the property originating from user.properties via -J command-line argument.

References:

Upvotes: 3

Related Questions