maestro testコマンドの `--test-output-dir` と `--debug-output` の違いをドキュメントとサンプルコードから追ってみる
はじめに Maestro の maestro test コマンドでは、--test-output-dir と --debug-output などのオプションで、スクリーンショットやログなどの artifact が出力されます。両者はどちらも「artifact の保存先を指定するオプション」に見えるのですが、実際には扱うファイルがやや異なります。 この違いを意識しないと、落ちたテストの調査で「あるはずの artifact が見つからない」ということが起こりえます。 たとえば、スクリーンショットを探していたら maestro.log しか入っていなかったり、逆にログだけ別ディレクトリに出ていたり。 そこで、この記事では maestro test の artifact 周りを整理します。また、ドキュメントとサンプルコードを頼りに、これらのオプションの違いや使用例を探ってみます。 この記事で最初に押さえたいのは、次の4点です。 --test-output-dir はスクリーンショットや動画の主な置き場 --debug-output は maestro.log の主な置き場 commands-*.json は artifact 調査で見ることになる主要なファイル --flatten-debug-output は --debug-output の artifact 群のディレクトリ階層をフラットにする レポート系のフォーマットは下記の2つです。 --format : レポートのフォーマット。 例:--format junit , --format html , --format html-detailed --output : 上記のレポートの出力場所。省略した場合はカレントディレクトリに出力。 例:--output build/report.xml なお、AI 系のレポートは生成条件が別なのでこの記事では深追いしません。 参考:https://docs.maestro.dev/maestro-flows/workspace-management/ai-test-analysis 1. --test-output-dir / --debug-output / --flatten-debug-output オプションの早見表 --test-output-dir / --debug-output / --flatten-debug-output オプションの早見表をご覧ください。ここでは「flag の役割」と「実際に目に入る artifact」を分けて書きます。実際の挙動を見ると、ドキュメント のように、Yes / No の二値だけで読むと誤解しやすいので、まずは役割ベースで整理するほうがよいかと思います。 ...