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
Email: email_RegEx
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 afterRegular 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 groupBeanShell 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:
- Add a
BeanShell PostProcessor
after your Regular Expression Extractor.
Named this processor as your prefered, no others set for the field of this processor.
-
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();
- Save the JMeter script, and run.
- Goto output directory
/app/jmeter/test_data
, you will find that the output file namedargList.csv
was created, and open it, the variables export were all here.
Please note that, in statement
email = vars.get("uemail_RegEx");
, the variableuemail_RegEx
is the variable name that regular expression extract the data save to.
网友评论