JMeterでHTTPリクエストのレスポンスからデータを取得する方法




レスポンスからデータを取得する方法

レスポンスからデータを取得するには大きく分けて2つあります。それは正規表現抽出とJSR223 Listenerというプログラムでデータを取得できる2つです。

今回はJSR223 Listenerについて簡単に説明します。

JSR223 Listener

HTTPリクエストを右クリックして追加できます。

追加するとこのような画面になっています。使用する言語はJava、Javascript、groovyなどが使えます。今回はJavascriptで書きます。

スクリプトは画面下のとこに記述することができます。

レスポンスBodyの受け取り方

JSONで送られてきている場合は受け取りが簡単です。

この一行だけでJSONをパースして受け取ることができます。

var body = JSON.parse(sampleResult.getResponseDataAsString())

あとはbodyから値を取得するだけです。例えばこのようにlog.info()に渡すことでログ表示もできます。

var name = body.name
log.info('name: ' + name) // 表示できる

ログはコンソールに吐かれるのでオプションからログビューワを追加することで確認ができるようになります。

変数の使い方と代入

スクリプト場ではユーザー定義変数で定義した値を使うこともできますし、新たに変数を定義して別のスクリプトから使えるようにすることも可能です。

やり方は非常に簡単でたったのこれだけです。これで変数を呼び出せるし、代入することで他のスクリプトからも呼び出すことができるようになります。

vars.get("id") // ユーザー定義変数や他のスクリプトで定義した変数を呼び出せる
vars.put("name", name) // ここで新たにnameという変数に値を代入して他のスクリプトでも使えるようになる

まとめ

  • レスポンスデータの取り出し方には正規表現抽出とJSR223 Listenerを使った方法がある
  • JSR223 ListenerはJava、Javascript、groovyなどが使える
  • 変数から値を取得したり新たに定義することができる

JMeterは慣れるまでが少しだけ大変ですがちょっとした作業時間だけでいろんなことができるようになります。

今後も少しずつまとめていきますのでこれを気に学んでみてください。

おすすめ書籍

負荷試験に関する数少ない良書です。前半部分は負荷試験に関する失敗事例、負荷試験をどうやって行うのかのアプローチ方法などAWSに限らずこれから負荷試験を行う方にとって参考になると思います。

他の方の書評でも書かれていますが負荷試験についてここまで丁寧にまとまった情報はないので一読してみるのをおすすめします。

 

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です