如何在分布式模式下运行JMeter脚本时使用groovy创建列名

时间:2018-05-09 13:29:08

标签: groovy jmeter

设置:JMeter 4.0,Groovy 2.4.13,3个远程引擎和一个主机

我有以下用于在测试期间将变量保存到文件中的脚本:

FileWriter fileWriter = new FileWriter(new File("\\\\FOOT1\\TEST1\\apache-jmeter-4.0\\bin\\company.txt"),true)
fileWriter.append("Phone_number" + ";" + "Name"+ System.getProperty("line.separator"))
fileWriter.close()

如何实现这一点,在同时在三台机器上执行时,只在主机上的文件中保存一次(而不是三次)?

1 个答案:

答案 0 :(得分:0)

您可以将代码修改为:

if (org.apache.jmeter.util.JMeterUtils.getLocalHostName().equals("some_of_your_slaves_hostname")) {
    //do what you need
}

替代方案是使用JSR223测试元素的Parameters部分中的__machineName()__machineIP()函数。类似的东西:

JMeter JSR223 Save Variables

有关JMeter测试中的Groovy脚本的更多信息,请参阅Apache Groovy - Why and How You Should Use It文章。

还要注意Sample Variables属性,您将能够将JMeter变量直接存储到.jtl结果文件中。