読者です 読者をやめる 読者になる 読者になる

JMeterでJSONをPOST

最近の Web アプリの API は従来の GET によるリクエストパラメータを送信する方式ではなく、POST で JSON を送信する方式が増えてる模様。
この形式の場合、Chrome の DeveloperTools でみるとリクエストの部分が Query String Parameters の代わりに Request Payload と表示される。 JMeter で Request ペイロードを送信する方法についてまとめる。

環境

JMeterbrew install jmeter で最新バージョンが入った。
Ubuntu の場合は apt-get だと古いバージョンだし、パスの関係でそのままだとエラーでて動かないようなので、公式から最新の tar ファイルをダウンロードしてきて展開した方がいい。

設定方法

HTTPヘッダマネージャ

あらかじめ作成したスレッドグループを右クリックして、追加>設定エレメント>HTTPヘッダマネージャ
ヘッダの名前に "Content-Type"、値に "application/json" を追加。

f:id:jnst:20140410163741p:plain

HTTPリクエスト

同様にスレッドグループを右クリックして、追加>サンプラー>HTTPリクエスト
サーバ名、ポート番号などは任意の値を入力。重要なのは Parameters, Body Data の部分。 ググると Parameters に値だけ書くというやり方がでてきたけど、こういう場合は Body Data のタブに切り替えて値を入れるのが正しいみたい。

f:id:jnst:20140410163557p:plain