この記事のJMeterは ver 2.12。
テストを一件ずつ実行する
1つのJMeterスクリプトファイルにスレッドグループを複数個並べると、JMeterは2,3個のスレッドグループを並行して実行する。このとき、例えば、ログイン/ログアウトの評価やコンテンツの参照/削除が同時に走ってしまうと情報に不整合が生じ、テストが失敗することがある。
そこで、「テスト計画」の「各スレッドグループを別々に実行」にチェックを入れると、スレッドグループを1個ずつ順番に実行してくれるようになる。
エラーを期待するテスト
JMeterのステップは標準では4xxや5xxのレスポンスコードをエラー(レッド)として扱う。しかし、正常系評価ではなく異常系の評価をしたい場合、4xxのレスポンスでグリーンになって欲しいにも関わらずレッドとして表示されてしまい評価結果が見づらくなることがある。そこで4xxや5xx系レスポンスをグリーンとして評価するにはHTTPリクエストにつけた「アサーション」の「ignore status」にチェックを入れると、ひとまず全てのレスポンスをグリーンとして扱ってくれる。その上でアサーションでレスポンスの評価を行うとアサーションの成功/失敗に基づき結果をグリーン/レッドに色分けしてくれる。
エラーだけを表示する
「結果を表で表示」を追加すると、各ステップでの評価を表示してくれる。しかし、インテグレーションを行う上でグリーンが多く並ぶことよりも、レッドが0個か1個以上なのかが重要なので、レッドだけ表示してくれればよい。そこで「ログエラーのみ」にチェックを入れるとレッドのみを結果に表示してくれるようになる。
¥マークを含む文字列
\を含んだ文字列をリクエストしたい場合、JMeterでは\をエスケープして使用しなければならないため、"\"とする。また、サーバー
アサーションで正規表現を使う
"dateTimeZone":"2016:01:01 12:34:56+09:00"というレスポンスがYYYY:MM:DD hhss+mm:ssのフォーマットになっているか確認するには、"(\d{4}):(\d{2}):(\d{2}) (\d{2}):(\d{2}):(\d{2})+(\d{2}):(\d{2})"とする。タイムゾーンの+にはエスケープ処理が必要。