レスポンスからデータを取得する方法
レスポンスからデータを取得するには大きく分けて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に限らずこれから負荷試験を行う方にとって参考になると思います。
他の方の書評でも書かれていますが負荷試験についてここまで丁寧にまとまった情報はないので一読してみるのをおすすめします。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す