I've got a piece of regex which I've tested in JMeter using the regexp tester and it returns multiple results (10), which is what I'm expecting.
I'm using the Regular Expression Extractor to retrieve the values and I would like to write ALL of them to a CSV file. I'm using the Beanshell Post Processor but I am only aware of a method to write 1 value to file.
My script in Beanshell so far:
temp = vars.get("VALUES"); // VALUES is the Reference Name in regex extractor
FileWriter fstream = new FileWriter("c:\\downloads\\results.txt",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(temp);
out.close();
How can I write all the values found via the regex to file? Thanks.
If you'll look into Debug Sampler output, you'll see that VALUES
will be a prefix.
Like
etc.
You can use ForEach Controller to iterate over them.
If you want to proceed with Beanshell - you'll need to iterate through all variables like:
import java.io.FileOutputStream;
import java.util.Map;
import java.util.Set;
FileOutputStream out = new FileOutputStream("c:\\downloads\\results.txt", true);
String newline = System.getProperty("line.separator");
Set variables = vars.entrySet();
for (Map.Entry entry : variables) {
if (entry.getKey().startsWith("VALUES")) {
out.write(entry.getValue().toString().getBytes("UTF-8"));
out.write(newline.getBytes("UTF-8"));
out.flush();
}
}
out.close();