jmeter and filewriter-将日期 时间戳添加到文件名中



我创建了一个jmeter,该jmeter在我的网站上下订单并记录订单状态和确认号。预订订单后,我使用Beanshell后处理器将提取的变量打印到文件。我真的希望能够将日期添加到文件名中,但是我无法找到一种方法。

这是我的豆壳邮政处理器的样子:

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

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

完全免责声明(考虑到上面的示例代码,这可能不是必需的):我不是代码人员,所以请原谅伪劣的代码。

预先感谢。

您可以在开头设置属性,您可以稍后将其附加到文件名。

${__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("\\", "/"));

最新更新