Skip to main content
Glama
nodesi-jp
by nodesi-jp

@nodesi/failure-report

Playwright の実行から Failure Report(テスト報告書)を作る。

何ができるか

テストのそばに「観点・前提・手順・状態」を書いておくと、実行するたびに報告書ができる。

分類[0](左メニューなど)             章立ての上の層
  └ 分類[1](画面)                  章立ての下の層
      └ テスト観点                  何を確かめるのか
          └ テストマトリクス        観点ごとに「ケース × ロール(環境)」の表
              └ ページ(1 マス = ケース × 対象)
                  お題 / 前提 / 内容 / OK・NG と判断した根拠(ブロックなら実行できない理由)/
                  結果 / 要確認 / 参照 / DB の状態(操作前後の差分)/ スクリーンショット
  • 表紙(report.html)に概要・要確認・前提・観点の一覧・マトリクス。観点名や記号を押すと、その観点のページへ

  • 結果の言葉は OK / NG / ブロック / 対象外。「スキップ」とは言わない。ブロックには必ず理由が付く

  • 実行ごとの記録は消さずに積む。「この版はここまで確認済み」を後から出せる

  • 1 ファイルで渡したいときは report --single。印刷すれば PDF

  • MCP サーバとしても動く。Claude Code から結果を直接引ける

依存は @playwright/test だけ。

Related MCP server: RunAutomation MCP Server

入れかた

npm i -D github:nodesi-jp/failure-report
npx failure-report init --write --claude --example --mcp

init が playwright.config.ts に設定を足し(元は .bak に残る)、--claude が CLAUDE.md に書き方の決めごとを、 --example がお手本 spec を、--mcp が .mcp.json に MCP サーバを足す。何度流してもよい。

npx playwright test          # 流すたびに evidence/<実行ID>/report.html ができる
npx failure-report serve --open
npx failure-report --help    # コマンドと環境変数

CLI

failure-report — Playwright の実行から Failure Report(テスト報告書)を作る・見る・配る

  npx failure-report <コマンド> [オプション]

コマンド
  init [--write] [--claude] [--example] [--mcp]
                                 このプロジェクトに導入する(設定への追記を表示、--write で書き込む)
                                 --claude   CLAUDE.md に書き方の決めごとを足す(何度流しても増えない)
                                 --example  お手本 spec を testDir に写す
                                 --mcp      .mcp.json に MCP サーバを登録する
  list [-n <件数>]                実行の一覧を表示する
  serve [--port 4321] [--host]   ブラウザで見る(--host 0.0.0.0 で LAN のチームにも見せられる)
  report [<実行ID>] [--single]    Failure Report を作る(観点ごとに別ページ。--single で 1 ファイル、
                                 印刷して PDF にもできる)
                                 軽くする: --max-mb 8 / --max-images 4 / --no-images
                                 画像の枠は失敗したケースから先に使う
  matrix [<実行ID>] [--html]      マトリクスを出す(既定は観点ごとにケース × ロール)
                                 --viewpoint <語> で観点を絞る
                                 --row <軸> --col <軸> で好きな軸に組み替える
                                 (軸はテストが details({軸:{...}}) で宣言したもの、
                                   ほかに ロール / 観点 / ファイル / ケース)
                                 --all-envs で環境も並べる
  catalog                        どんなテストがあり、何を確かめることになっているかを
                                 実行せずに観点ごとに並べる
  page                           ページ(マトリクスの 1 マス)に載せる項目と、結果の言葉
                                 (OK / NG / ブロック / 対象外)の定義を出す
  practices                      テストを書くときの決めごと(init --claude が CLAUDE.md に足す文)を出す
  example                        お手本 spec を出す(報告書の全欄が埋まる 1 本とブロックの形)
  lint [<実行ID>] [--strict]      報告書の記述(観点・前提・手順・スクショ)が
                                 足りていないケースを挙げる(--strict で CI を落とせる)
  publish --to <置き場所>         共有できる場所へ静的サイトとして置く
  prune --keep <n> [--yes]       古い実行を消す(既定は消さずに一覧だけ表示)
  index                          一覧ページ(index.html)を作り直す
  open [<実行ID>]                 レポートをブラウザで開く
  mcp                            MCP サーバとして動く(Claude Code から結果を引ける)

Claude Code から使う
  claude mcp add failure-report -- npx failure-report mcp

置き場所(publish --to)
  <ディレクトリ>                  そのフォルダへコピーする(共有ドライブなど)
  s3://<bucket>/<prefix>         aws s3 sync で上げる(AWS CLI が要る)
  gh-pages                       gh-pages ブランチへコミットする(--push で送信まで)

共通オプション
  --dir <evidence>               エビデンスの場所(既定 ./evidence、環境変数 EVIDENCE_DIR)
  --runs latest|all|<実行ID>      publish の対象(既定 latest)
  --light                        トレース・動画を含めない(軽くする)

環境変数
  EVIDENCE_DIR                   保存先(既定 <プロジェクト直下>/evidence)
  EVIDENCE_RUN_ID                実行 ID(既定 実行時刻。CI ではビルド番号でもよい)
  EVIDENCE_ENV_NAME              一覧に出す環境名(既定 baseURL のホスト名)
  EVIDENCE_SHARE                 1 で実行のたびに報告書も作る(reporter の share でも指定できる)
  FAILURE_REPORT_SESSION         「全部流す → 落ちたものを流し直す」を 1 冊にまとめる名前

Claude Code から使う

init --mcp が .mcp.json に登録する。手で登録するなら:

claude mcp add failure-report -- npx failure-report mcp

あとは普通に頼むだけでよい。使い方はサーバが自分で AI に伝えるので、呼び方を覚える必要はない。

頼み方

何が起きるか

「昨日の実行で落ちたのはどれ?」

get_failures で NG のケースを、落ちた手順・判定・エラーつきで答える

「共有の権限はテストでカバーしてる?」

list_tests で、実行せずに観点の宣言から答える

「一般ユーザーで未確認の画面は?」

get_matrix でロール別の表を出して答える

「受信一覧のテストを書き足して」

get_example でお手本を読み、CLAUDE.md の決めごとに沿って書く

「報告書に足りないところは?」

list_gaps で観点・前提・手順・判定・スクショの抜けを挙げる

「報告書を 1 ファイルにして」

build_share で report.html を作ってパスを返す

結果は OK / NG / ブロック / 対象外 の言葉で返ってくる(報告書と同じ)。 テストを書く側の決めごとは init --claude が CLAUDE.md に足す節にある。

Related MCP Connectors

Related MCP Servers