2011年9月6日火曜日

Jmeterのプラグインを書く、その2

さて、前回では、何もない空のjmeterのサンプラーを書いてみました。
せっかくなので、githubにこの記事にあわせたリポジトリつくってみました。

今回は中身ですね。

Jmeterのエレメントは基本的に3つファイルから成り立ちます。
MyTestSamplerというのがあるとすると、
・動作のベース MyTestSampler.java
・GUI関連の定義 MyTestSamplerBeanInfo.java
・他言語時のメッセージ定義等 MyTestSamplerResource.properties
この3つが一組という感じになります。

とりあえず、MyTestSampler.javaからデータを調査できるようにしてみたいとおもいます。
まず、AbstractSamplerはserialVersionUIDを持つべきなので、適当に追加しておきます。


それから、SampleResultのインスタンスを自分でつくって、sampleメソッドの応答にあてがっておきます。
とりあえずいれておくと便利なのは、
・setSampleLabel リスト上に表示される題目(今回はTestResult)
・sampleStartとsampleEnd この値から実行時の動作効率等を自動で計算してくれます。
とりあえず処理の頭にsampleStart、処理後にsampleEndをいれておけばよいでしょう。
・setResponseData 実行結果を応答します。byte[]で応答するのですが、一番簡単なのは、文字列.getBytes()でいれておくことでしょう。
・setDataType 実行結果のバイトデータがどういうものか指定しないと、まちがった表示になったりします。今回はSampleResult.Textを指定することで文字列で応答することを指定しておきます。
・setSuccessful 動作が成功したか失敗したかの指定です。

プログラムは次のようになります。


ではコンパイルして実行といきます。
とりあえず結果をツリーで表示と統計レポートを追加
 ツリー表示のところには成功をしめす緑の印とプログラムで指定した[TestResult]の文字がならんでいます。
右側の情報のところにはLoadtimeや実行日時、応答したデータの大きさ等の情報がならんでいます。
 タブを応答データに変更すると、きちんと[Sample is ended with success...]という文字列が応答されてます。
 統計レポートを確認すると、50回の試行がなされてほぼ500ミリ秒で動作したようです。
まぁ、500ミリ秒スリープしたからあたりまえですね。

次は、データの入力まわりの追加ですかね。

0 件のコメント:

コメントを投稿