我从HTTP请求中获取一个值,并将其写入CSV文件,每次执行该程序时,新值都会被覆盖,并且不会附加到CSV中。我想附加值而不是覆盖。我正在使用Regex和XPath提取程序从HTTP请求中获取值并将其写入CSV文件。
new File('/Users/ddd/testgui/queueId1.csv').newWriter().withWriter { w ->
w << vars.get('queueid')
}
答案 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