Taurusを用いてJMeterのレポートを作成する


JMeterにも統計情報やレポートを作成する機能はありますが、Taurusを用いることでより多くの情報を見やすい形でレポートを作成することができるため、今回はその方法について紹介します。

Taurus

TaurusBlazeMeterが公開しているオープンソースのテスト自動化フレームワークです。
JMeter以外にもGatlingやLocustなど様々な負荷試験ツールのラッパーとして動かせることや、レポーティング機能が充実しているところが特徴です。

インストール

今回はDocker Imageを使用しますが、各OSの環境にインストールして動かすこともできます。

$ docker pull blazemeter/taurus

準備

Taurusの設定ファイル(yaml)をmy-config.ymlという名前で/tmp/my-testに配置します。

my-config.yml

execution:
- scenario: simple # Taurusのシナリオ名

scenarios:
  simple:
    script: my-scenario.jmx # JMeterのシナリオファイルを指定

reporting:
- module: console     # 実行中の情報を表示
- module: final-stats # サマリを表示
- module: blazemeter  # オンラインレポートを作成

/tmp/my-testにJMeterのシナリオファイル(jmx)を配置します。

実行

以下のコマンドを実行するとmy-config.ymlで指定した内容でTaurusが実行されます。

$ docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config.yml

実行中はコンソールに実行中の状況がダッシュボードで表示されます。

結果

実行が完了するとレポート用のトークン付きのリンクが出力されます。(無料版は7日間で消えます)

Summary

サマリ用のメインダッシュボードです。

Timeline Report

ユーザー、リクエスト、レイテンシなどの情報をタイムラインで見ることができます。

Request Stats

JMeterの統計情報と同様の情報を見ることができます。

Engine Health

実行側のリソース状況を見ることができます。

まとめ

今回はシンプルな例でしたが、複雑な試験やシナリオになる場合は、より見やすさを実感できると思います。
また、GatlingやLocustなども同様に扱えるため、複数のツールを併用する場合は、まとめて実行やレポーティングすることで試験を効率化できるかもしれません。