2017-03-03 31 views
0

私は自分のサイトに注文を出し、注文ステータスと確認番号を記録するjmeterを作成しました。注文が予約されると、BeanShell PostProcessorを使用して、抽出された変数をファイルに出力します。私は本当にファイル名に日付を追加することができますが、私はそれを行う方法を見つけることができませんでした。JmeterとFilewriter - ファイル名に日付+タイムスタンプを追加する

これは私のビーンシェルポストプロセッサは、次のようになります。

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

最初にプロパティを設定し、後でファイル名に追加することができます。

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

その後、あなたは上記のコードでは、次の

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

にあなたの行を変更することができ、CWDは、私はJMeterのがislaunched、そこから現在のディレクトリを指す開始時に設定別の変数です。

import org.apache.jmeter.services.FileServer; 

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

あなたのお時間をありがとうございました。これは私が必要としていたものですが、$ {__ P(UNIQUEID、$ {__ time(YMDHMS)}}}プロパティを設定する方法がわかりません。私はuser.propertiesファイルにそれを追加しようとしましたが、それは行く方法だったようには見えません。 – Mari

+0

あなたの提案を使用して、これを達成する別の方法を考え出しました。ありがとうございました! – Mari

+0

テストプランの上部に「ユーザー定義変数」構成要素を追加し、行を追加して定義することができます。名前:UNIQUEID、値:$ {__ P(UNIQUEID、$ {__時間(YMDHMS)}}} – Selva

関連する問題