Jmeter: How to save variables to a file after getting the data using a regular expression extractor

Sometimes we need to export the JMeter runtime variables to a external file, for example, csv, txt.
Now, I provide a example that how to the variables to a external file after getting the data using a regular expression extractor.
Expected that you knows how to get data using Regular Expression Extractor.

Variables of JMeter Runtime to save to external file

  1. Email: email_RegEx
  2. Token: token_RegEx

How to save the variables to external file

We can save the variables via BeanShell which is JMeter built-in component.

For more information about BeanShell, you can check it from JMeter official document and others technical documents, like BlazeMeter.

Where to add BeanShell step to export variable to a external file

  • Add BeanShell handler after Regular Expression Extractor

The tree of thread group similar as below:

Thread group
      |
      - Sampler
          |
          - Regular Expression Extractor
          - BeanShell
      - Other Samplers

Sample as my testing:

Jmeter: How to save variables to a file after getting the data using a regular expression extractor_第1张图片
The tree of thread group

BeanShell Scripting

How to write BeanShell, please check the link below, in this article we will not relate to the scripting of BeanShell.

https://blazemeter.com/blog/queen-jmeters-built-componentshow-use-beanshell

BeanShell Script for saving variables to a external file

I just provide a sample that how to save the two variables that mention above to a external file.

Task list:

  • Save variables to a external file
  • Variables name: email_RegEx, token_RegEx
  • External file name: argList.csv
  • Output dirctory: /app/jmeter/test_data

Steps:

  1. Add a BeanShell PostProcessor after your Regular Expression Extractor.
    Named this processor as your prefered, no others set for the field of this processor.
Jmeter: How to save variables to a file after getting the data using a regular expression extractor_第2张图片
BeanShell PostProcessor
  1. Scripting in script edit zone, and add the code below.

     // get variables from regular expression extractor 
     email = vars.get("uemail_RegEx");
     token = vars.get("token_RegEx");
    
     // pass true if want to append to existing file  
     // if want to overwrite, then don't pass the second argument
     FileWriter fstream = new FileWriter("/app/jmeter/test_data/argList.csv", true);
     BufferedWriter out = new BufferedWriter(fstream);
     out.write(email + "," + token);
     out.write(System.getProperty("line.separator"));
     out.close();
     fstream.close();
    
Jmeter: How to save variables to a file after getting the data using a regular expression extractor_第3张图片
Script
  1. Save the JMeter script, and run.
  2. Goto output directory /app/jmeter/test_data, you will find that the output file named argList.csv was created, and open it, the variables export were all here.

Please note that, in statement email = vars.get("uemail_RegEx");, the variable uemail_RegEx is the variable name that regular expression extract the data save to.

Enjoy it.

你可能感兴趣的:(Jmeter: How to save variables to a file after getting the data using a regular expression extractor)