2
JMeter内でBeanShellスクリプトを作成してXMLメッセージを作成し、変数として保存しようとしています(SOAPサンプラーがメッセージを送信するようにしましたが、そうではありません本当にポイント)。スクリプト内では、私はランダムにいくつかの行を作成するループを持っており、そのポイントは、スクリプトがCSVファイルから新しい行を読み込むということです。ループはうまく動作しますが、何らかの理由でCSVread next
が動作しないように見えるので、CSVファイルから同じ行だけを使用しています。Jmeter beanshellスクリプトのcsvファイルの次の行
try{
//Use a random variable to loop for a random amount of times
randomnr = vars.get("randomvariable");
int randomint = Integer.parseInt(randomnr);
int FiNr = 123456789;
//I'm using a stringbuilder to create the xml message
StringBuilder multi = new StringBuilder();
for (int i=1; i<randomint; i++){
multi.append("SomeXML");
FiNr = ${__CSVRead(data.csv,0)}; //get a line from the csv
multi.append(""+FiNr);
multi.append("SomeMoreXML");
${__CSVRead(data.csv,next)}; //Go to the next line in the csv - doesn't seem to be working
}
vars.put("xmlmessage",multi.toString()); //put all of it in a variable
}
catch(Exception ex){
log.warn("Something bad happened", ex);
throw ex;
}
すべてが、それはループ内の次の行に進んでいないことを除いて取り組んでいる。ここで
は、私が使用しているコードです。何かご意見は?
私はこの機能に慣れていないので、これを答えとして残したくないですが、私はあなたが '' FiNr = $ {__ CSVRead(data.csv、0)};あなたのforループと '$ {__ CSVRead(data.csv、next)};'は 'FiNr = $ {__ CSVRead(data.csv、next)}}です。 – RowlandB
@RowlandBそれを指摘してくれてありがとう、それはルーキープログラミングミスでした。残念ながら、それはcsvファイルの問題を解決しませんでした。私はコードを更新しました。また、関数が値を返すためにカラムを指定する必要があるため、 'FiNr = $ {__ CSVRead(data.csv、next)};'は機能しません。 –
[新しいJava 8 Streams APIを使用して複数行の行のCSVファイルを解析する]の可能な複製(http://stackoverflow.com/questions/37865492/parsing-a-csv-file-for-a-multiplerow- rows-using-new-java-8-streams-api) –