メニュー

【JMeter講座③(全3回)】BeanShell PreProcessor

どうも、開発2部でサーバ担当してる山本です。

3回にわたってJMeter(ジェイメーター)の紹介をしてきましたが、今回が最終回となります。

前回はサーバーから送られたjsonをパースして後続処理で利用する方法を紹介しました。
今回はクライアントからサーバーにjsonデータをPOSTする方法を紹介します。


▼全記事はこちら【JMeter講座③(全3回)】
【JMeter講座①(全3回)】カウンタ/Random Variable/CSV Data Set Config
【JMeter講座②(全3回)】正規表現抽出/BeanShell PostProcessor
【JMeter講座③(全3回)】BeanShell PreProcessor


予め決まったjsonをPOSTする場合は、
HTTPリクエストのメソッドを「POST」に設定し、Body Dataにjson文字列を設定します。


201505291352

201505291353

201505291354



動的にjsonを構築する場合は前処理を使うとよいです。
今回の例ではBeanShell PreProcessorを使っています。
BeanShell PreProcessorは「前処理」「BeanShell PreProcessor」から追加できます。
jsonを扱うのにJSONObjectを使っているので、前回と同様にjarの追加が必要です。


201505291414

201505291415


↑のようにBodyData全体を変数にしておくと前処理で柔軟にjsonを構築できます。


201505291416

201505291417

201505291418

import org.json.JSONObject;

log.info("BeanShell PreProcessor start");

JSONObject json = new JSONObject();
json.put("user_id", vars.get("user_id"));

log.info("post json=" + json.toString());

String post_data = json.toString();
vars.put("post_data", post_data);
 
log.info("BeanShell PreProcessor end");



BeanShell PreProcessorでの実装内容は↑の通りです。



ここまでで紹介した前処理、後処理、各種ロジックコントローラ、設定エレメントなどを組み合わせれば、
実際のユーザー操作に近いシナリオによる負荷試験ができると思います。

201505291442




いかがでしたでしょうか。

JMeterを使いこなせば負荷試験以外にもAPIの動作確認やテストデータの自動生成など
負荷試験以外のフェーズでも役立つ場面があると思います。
作業の効率化のためにもぜひとも使いこなしたいですね!!


ところで、
オーツーではサーバーサイドエンジニアを募集しています!
こちらの採用情報からのご応募をお待ちしてますm(_ _)m

ではでは。

この記事をシェアする

  • twitter
  • facebook
  • Google+
  • B!はてブ
  • pocket
トップへ戻る

CONTACT

ゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。

ゲーム開発に関する
お問い合わせはこちら

Webサイト制作に関する
お問い合わせはこちら