My group does a lot of test automation with JM. Typically we have a properties file which has a bunch of variables defined. These in turn are开发者_开发知识库 mapped to "User Defined Variables" of which we have a number of different sets.
These are in referenced throughout the rest of the jmx - I find it difficult as there are so many variables in so many different places to know what is what. Is there any way to have jmeter display what values its variables have - custom sampler is fine ? Ideally id love it if you could just hover a var and have its value displayed.
Any ideas ?
The newest versions of Jmeter have a fantastic sampler called "Debug Sampler" that will show you the values for: Jmeter Variables, Jmeter Properties or System properties.
You can insert them wherever you want in the script to get values at a given time. You'll want to have a "View Results Tree" enabled to view the sampler.
Given that Jmeter declares variables from a file on run, you won't be able to get your ideal solution.
I'm curious...would it be cleaner to employ "CSV Data Set Config" rather then populating "User Defined Variables" from a properties file?
Edit: Added explanation on variable declaration and asked CSV question.
Here is how I used to get Set of vars right through the code (variant with Java code in JSR223 PostProcessor):
- Add "JSR223 PostProcessor" by right click wherever you need to check jMeter variables in your project;
- Set Language (in my case - to java);
- Add following code to Script window:
import java.util.Map;
String jMeterVars;
jMeterVars = "Quantity of variables: " + vars.entrySet().size() + ".\n\n";
jMeterVars += "[VARIABLE NAME] ==>> [VARIABLE VALUE]\n\n";
for (Map.Entry entry : vars.entrySet()) {
jMeterVars += entry.getKey() + " ==>> " + entry.getValue().toString() + "\n";
}
try {
FileWriter fw = new FileWriter("D:\\jMeterVarsForStackOverflow.txt",true);
fw.write(jMeterVars);
fw.close();
} catch(IOException ioe) {
System.err.println("IOException: " + ioe.getMessage());
}
- Check that everything in the JSR223 PostProcessor looks like that:
- Start your project in jMeter.
The code above will create jMeterVarsForStackOverflow.txt file at D: and put all variables there:
精彩评论