Write extracted data to a file using jmeter

2019-01-06 16:16发布

问题:

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?

回答1:

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();


回答2:

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



回答3:

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.



回答4:

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



回答5:

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:

  • https://jmeter.apache.org/usermanual/properties_reference.html#results_file_config

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