CodeceptJS のテスト実行結果を AllureReport でリッチにレポートする方法


はじめに

テスト自動化ツール CodeceptJS のテスト実行結果を視覚的にカッコ良いレポートに出力するプラグインとして、Allue Report(アリュール)があるそうです。
今回は、CodeceptJS に Allue Report プラグインを追加し、テスト結果を html でレポート出力する方法について確認していきたいと思います。
CodeceptJS 本体の使い方については、この記事では取り扱っておりませんのでご留意ください。

<実行環境>

  • Windows 10 Pro
  • Node.js Ver.14.15.1
  • CodeceptJS Ver.3.0.2
  • allure Ver.2.13.0

Allure をインストールする。

npm install -g allure-commandline --save-dev

CodeceptJS の構成ファイルに、Allure プラグインを追加する。

codecept.conf.js
plugins: {
    allure: {
        enabled: true
    }
}

常時利用ではなく、都度 allure を利用するか指定したい場合は構成ファイル enabled: true をコメントアウトしておき、テスト実行時に --plugins オプションで指定できる。

npx codeceptjs run --plugins allure

プラグインが有効になっているか確認したい場合は、テスト実行時、--verbose オプションを指定すると詳細が確認できる。テストステップの詳細も確認できるので、デバッグ時にも便利なオプションです。

npx codeceptjs run --verbose

テストスクリプトを実行する。

npx codeceptjs run

allure serve で、Allure レポートが表示できる。

<内部動作>

  1. テストを実行すると、output フォルダーにテスト実行結果の xml が出力される。
  2. allure serve の引数に指定したフォルダー内にある xml ファイルを解析し、一時フォルダーに html ファイルを生成する。xml ファイルが複数ある場合は、最新の xml ファイルが自動的に選択されるみたい。
  3. Web サーバーを起動し、 html ファイルが表示される。
allure serve ./output

左下の「En」ボタンから「日本語」を選ぶと、なんと日本語表記もできちゃう。

まとめ

Allure をインストールし、 CodeceptJS の構成ファイルでプラグインの記述を追加するだけで、リッチなテストレポートを出力することが出来るようになりました。
問題点として、Allue の Web サーバーを起動しないとこのレポートを見ることが出来ませんでした(Allure で生成された html ファイルを直接開いても、レポート内容が表示されない) 。
過去のレポートを見たり、チームメンバーでレポートを共有するには、どうしたらよいのだろう。公式サイトのドキュメント読んでみたけど、わかりませんでした。

Selenium から Cypress に乗り換える予定で作業していたのだけれど、CodeceptJS の方が扱いやすいのかな。年末年始に時間作って、いろいろやってみたい。今回の記事はここまで。
最後までお読みくださりありがとうございました。