我创建了一个在我的网站上下订单并记录订单状态和确认号的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();
我已经尝试在文件名中插入变量,但我怀疑我做错了,因为甚至没有创建文件。
完全免责声明(根据我的上述示例代码,可能没有必要):我不是代码人,所以请原谅伪劣代码。
提前致谢。
答案 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("\\\\", "/"));