Jigish Chawda
Jigish Chawda

Reputation: 2188

Write extracted data to a file using jmeter

I am using JMeter v2.5.
I need to get data from the responses of the test and extract data from it (which I am doing using regular exp extractor). How do I store this extracted data to a file?

Upvotes: 21

Views: 75128

Answers (5)

amit_saxena
amit_saxena

Reputation: 7624

Just solved a similar problem. After getting the data using a regular expression extractor, add a BeanShell PostProcessor element. Use the code below to write the variables to a file:

name = vars.get("name");
email = vars.get("email");

log.info(email);  // if you want to log something to jmeter.log file

// Pass true if you want to append to existing file
// If you want to overwrite, then don't pass the second argument
f = new FileOutputStream("/my/file/path/result.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(name + "," + email);
f.close();

Upvotes: 38

UBIK LOAD PACK
UBIK LOAD PACK

Reputation: 34566

If you just want to write extracted variables to CSV results file, then just add to user.properties the variables you want:

sample_variables=name,email

As per doc:

They will be appended as last column of CSV results file.

Upvotes: 4

Andrey Pokhilko
Andrey Pokhilko

Reputation: 2668

You may use https://jmeter-plugins.org/wiki/FlexibleFileWriter/ with sample variables set up. Or with fake Dummy Sampler. Anyway Flexible File Writer is good for writing data into file.

Upvotes: 2

SQA
SQA

Reputation: 47

import org.apache.jmeter.services.FileServer;

String path=FileServer.getFileServer().getBaseDir();

name1= vars.get("user_Name_value");
name2= vars.get("UserId_value");

f = new FileOutputStream("E://csvfile/result.csv", true); //spec-ify true if you want to overwrite file. Keep blank otherwise.
p = new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(name1+"," +name2);
f.close();

this is worked for me i hope it will work for you also

Upvotes: 2

MatthewJ
MatthewJ

Reputation: 3187

You have a couple options

  1. You can tally the results by adding an aggregate report listener to your thread group => add listener => aggregate report
  2. You can get raw results by adding a simple data writer listener to your thread group => add listener => simple data writer

Hope this helps

Upvotes: 1

Related Questions