Jmeter和Filewriter - 在文件名中添加日期+时间戳

时间:2017-03-03 22:40:34

标签: jmeter filewriter beanshell

我创建了一个在我的网站上下订单并记录订单状态和确认号的jmeter。订单订购后,我使用BeanShell PostProcessor将提取的变量打印到文件中。我真的希望能够在文件名中添加日期,但我还没有找到办法。

这是我的Bean Shell Post Processor的样子:

FileWriter fstream = new FileWriter("C:\\JMeter\\Results\\log.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("scriptName"));
out.write(System.getProperty("line.separator"));
out.write("STATUS: " + vars.get("status"));
out.write(System.getProperty("line.separator"));
out.write("Confirmation Number: " + vars.get("ConfirmationNumber"));
out.write(System.getProperty("line.separator"));
out.write("");
out.write(System.getProperty("line.separator"));
out.write("");
out.close();
fstream.close();

我已经尝试在文件名中插入变量,但我怀疑我做错了,因为甚至没有创建文件。

完全免责声明(根据我的上述示例代码,可能没有必要):我不是代码人,所以请原谅伪劣代码。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以在开头设置一个属性,以后可以附加到您的文件名。

${__P(UNIQUEID,${__time(YMDHMS)})}

然后您可以将您的行更改为以下

    FileWriter fstream = new FileWriter(vars.get("CWD") + "/JMeter/results/log${UNIQUEID}.csv", true);

在上面的代码中,CWD是我在开头设置的另一个变量,它指向Jmeter的当前目录。

import org.apache.jmeter.services.FileServer; 

String sCWd = new String(FileServer.getFileServer().getBaseDir());
log.info("CWDString=" + sCWd.replace("\\", "/"));
vars.put("CWD", sCWd.replace("\\\\", "/"));