我的小组使用JM进行了大量的测试自动化。通常我们有一个属性文件,其中定义了一堆变量。这些又映射到“用户定义的变量”,其中我们有许多不同的集合。
这些在jmx的其余部分都被引用 - 我觉得很难,因为在很多不同的地方有很多变量可以知道什么是什么。有没有办法让jmeter显示其变量的值 - 自定义采样器是否正常?理想情况下,如果您只是悬停一个var并显示其值,那么id就会喜欢它。
有什么想法吗?
答案 0 :(得分:44)
最新版本的Jmeter有一个非常棒的采样器叫做“调试采样器”,它会显示以下值:Jmeter变量,Jmeter属性或系统属性。
您可以在脚本中的任何位置插入它们,以便在给定时间获取值。您需要启用“查看结果树”才能查看采样器。
鉴于Jmeter在运行时声明文件中的变量,您将无法获得理想的解决方案。
我很好奇......使用“CSV数据集配置”而不是从属性文件中填充“用户定义的变量”会更清晰吗?
编辑:添加了有关变量声明的说明并询问了CSV问题。
答案 1 :(得分:5)
以下是我过去通过代码获取变量集的方法(使用JSR223 PostProcessor中的Java代码变体):
将以下代码添加到“脚本”窗口:
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());
}
上面的代码将在 D:创建 jMeterVarsForStackOverflow.txt 文件并将所有变量放在那里: