如何获取结果值附加到jmeter中的CSV文件中(groovy)

时间:2018-11-09 19:32:22

标签: groovy jmeter

我从HTTP请求中获取一个值,并将其写入CSV文件,每次执行该程序时,新值都会被覆盖,并且不会附加到CSV中。我想附加值而不是覆盖。我正在使用Regex和XPath提取程序从HTTP请求中获取值并将其写入CSV文件。

new File('/Users/ddd/testgui/queueId1.csv').newWriter().withWriter { w -> 
   w << vars.get('queueid')
}

2 个答案:

答案 0 :(得分:0)

所以这对我来说适用于groovysh 2.5.3:

new File('/Users/ddd/testgui/queueId1.csv').newWriter(true).withWriter { w -> 
  w << vars.get('queueid') 
}

newWriter中的true为append == true。

答案 1 :(得分:0)

您可以这样做:

new File('/Users/ddd/testgui/queueId1.csv') << vars.get('queueid')

请注意,只有当您有1个线程时,您的代码才能正常工作 ;如果有更多线程,则可能会遇到race condition的问题,而同时有2个线程将同时写入到文件中。

如果您要使用1个以上的虚拟用户执行此代码,我建议您使用Sample Variables功能。

如果将下一行添加到 user.properties 文件:

sample_variables=queueid

并在下次运行测试时重新启动JMeter以选择该属性。.jtl结果文件将为每个线程/请求增加一个带有queueid变量值的列。

如果要将其存储到单独的文件中,请使用Flexible File Writer