私はjMeterでいくつかのパフォーマンステストを行いました.1つのHTTPリクエストで私はBeanShell PostProcessorを持っています。 CSVファイルの最上部にユーザーの電子メールアドレスを書き込む必要があります(最新の上に)。そのファイルはソートされていることが非常に重要です。jMeter BeanShellポストプロセッサー同期
import org.apache.commons.io.FilenameUtils;
import org.apache.jmeter.services.FileServer;
import java.text.*;
import java.io.*;
import java.util.*;
try {
String email = vars.get("emailPrefix") + "+" + vars.get("environment") + "-jm-" + vars.get("randomEmailNumber")+"@someEmail.com";
log.info(email);
String separator = System.getProperty("file.separator");
File mFile = new File(FileServer.getFileServer().getBaseDir() + separator + "investors_" + vars.get("environment") + ".csv");
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(mFile), "UTF8"));
String result = "";
String line = "";
while((line = br.readLine()) != null){
result = result + "\n" + line;
}
result = email + "," + result;
FileOutputStream fos = new FileOutputStream(mFile);
fos.write(result.getBytes());
fos.flush();
} catch(Exception e) {
System.out.println("Exception in 2 1 4 /getContactInformation::Email writer:" + e.toString());
throw e;
}
しかし、私は一度、すなわち100スレッドを実行しようとすると、いつかすべての電子メールが記録され、またはCSVファイル(内容は、実行の途中で削除された)空に終了されているわけではないことを、発生します。
私の問題は最後からこのCSVファイルを読むことで解決できますが、jMeterはこれを行うことはできません。
このポストプロセッサを同期する方法、またはこれを書き換える方法はありますか?
メモリに保存することができません。このCSVファイルを別のテストでアプリケーションにログインするために使用します。クリティカルセクションコントローラを試してみます。そして、それをGroovyにも書き直すことができます。 – medy75