jmeter - 显示变量的值

时间:2010-09-30 15:49:57

标签: variables jmeter

我的小组使用JM进行了大量的测试自动化。通常我们有一个属性文件,其中定义了一堆变量。这些又映射到“用户定义的变量”,其中我们有许多不同的集合。

这些在jmx的其余部分都被引用 - 我觉得很难,因为在很多不同的地方有很多变量可以知道什么是什么。有没有办法让jmeter显示其变量的值 - 自定义采样器是否正常?理想情况下,如果您只是悬停一个var并显示其值,那么id就会喜欢它。

有什么想法吗?

2 个答案:

答案 0 :(得分:44)

最新版本的Jmeter有一个非常棒的采样器叫做“调试采样器”,它会显示以下值:Jmeter变量,Jmeter属性或系统属性。

您可以在脚本中的任何位置插入它们,以便在给定时间获取值。您需要启用“查看结果树”才能查看采样器。

鉴于Jmeter在运行时声明文件中的变量,您将无法获得理想的解决方案。

我很好奇......使用“CSV数据集配置”而不是从属性文件中填充“用户定义的变量”会更清晰吗?

编辑:添加了有关变量声明的说明并询问了CSV问题。

答案 1 :(得分:5)

以下是我过去通过代码获取变量集的方法(使用JSR223 PostProcessor中的Java代码变体):

  1. 右键单击需要检查项目中jMeter变量的“JSR223 PostProcessor”;
  2. Adding JSR223 PostProcessor

    1. 设置语言(在我的情况下 - 为java);
    2. 将以下代码添加到“脚本”窗口:

      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()); }

      1. 检查JSR223 PostProcessor中的所有内容是否如下所示: JSR223 PostProcessor ready to go
      2. 在jMeter中启动项目。
    3. 上面的代码将在 D:创建 jMeterVarsForStackOverflow.txt 文件并将所有变量放在那里:

      Sample of file with jMeter variables got by the code above