搜索
您的当前位置:首页正文

Jmeter: How to save variables to

来源:二三娱乐

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.

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:

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.

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