2016-12-21 12 views
3

負荷テストを実行した後、Jmeterはresultを "summary.csv"に生成します。そのURL欄 -jmeterロード実行後にsummary.csvファイルを編集する方法

1482255989405,3359,POST ...users/G0356GM7QOITIMGA/... 
1482255989479,3310,POST ...users/HRC50JG3T524N9RN/... 
1482255989488,3354,POST ...users/54QEGZB54BEWOCJJ/... 

"...ユーザー/ G0356GM7QOITIMGA/...":このファイルの
いくつかのURLは次のように見えます。 (理由は、多くの異なるURLの)メモリ例外のうち、このアクションスローHowewer

jmeter -g summary.csv -o report 


その後、私は、このコマンドを使用してJMeterは、レポートを生成してみてください。
だから私はティアダウンスレッドグループにsummary.csvを編集し、BeanShellのサンプラーを使用して "someID" の文字列へのすべてのIDを交換することを決定した:

import java.io.*; 
import org.apache.jmeter.services.FileServer; 
try { 
     String sep = System.getProperty("line.separator"); 
     String summaryFileDirPath = FileServer.getFileServer().getBaseDir() + File.separator; 
     String summaryFilePath = summaryFileDirPath + "summary.csv"; 
     log.info("read " + summaryFilePath); 
     File file = new File(summaryFilePath); 
     BufferedReader reader = new BufferedReader(new FileReader(file)); 
     String line; 
     String text = ""; 
     while ((line = reader.readLine()) != null) { 
      text += line + sep; 
     } 
     reader.close(); 
     log.info(summaryFilePath); 
     file.delete(); 

     FileWriter writer = new FileWriter(summaryFileDirPath + "summary.csv", false); 
     writer.write(text.replaceAll("users/[A-Z0-9]*/", "users/EUCI/")); 
     writer.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

結果:
summary.csv screen

はのように思えますJmeterはの後にいくつかの行を追加します。tearDownスレッドグループは作業を終了します。
jmeterスクリプトのみを使用してテスト実行後にsummary.csvファイルを編集するにはどうすればよいですか?
PS:私はJMeterのプロパティがあります

+0

ヒント作業の方法に関する包括的な情報についてApache JMeter Properties Customization Guideの記事を参照してください。書式設定を問題。ソースコードを適切にインデントするのに1分かかります。あなたは私たちがあなたを助けるために時間を費やすことを望んでいます。だからあなたはできるだけ簡単かつ簡単にそれをしてください。 – GhostCat

+0

ご意見ありがとうございます。私はスクリプトを書式設定しました。 –

答えて

1

のみsummary.csvで結果を収集する必要がある - jmeter.save.saveservice.autoflush、おそらくあなたはfalse

# AutoFlush on each line written in XML or CSV output 
# Setting this to true will result in less test results data loss in case of Crash 
# but with impact on performances, particularly for intensive tests (low or no pauses) 
# Since JMeter 2.10, this is false by default 
#jmeter.save.saveservice.autoflush=false 

のデフォルト値に苦しんでいるあなたは時の値を上書きすることができます少なくとも2つの方法:

  1. user.propertiesファイルに次の行を追加します。 -Jコマンドライン引数を経由

    jmeter.save.saveservice.autoflush=true 
    
  2. のJMeterに渡すそれを好き:

    jmeter -Jjmeter.save.saveservice.autoflush=true -n -t .... 
    

JMeterのプロパティとそれに

+0

あなたの答えをありがとう。これは私を助けた。私は別の質問があります: - "BeanShellサンプラー"がsummary.csvにログインすることを無効にすることが可能な場合は? [この質問のトピック](http://stackoverflow.com/questions/41300570/how-can-i-disable-writing-beanshell-log-row-in-jmeter-report-summary-csv-file) –

関連する問題