qa-e2e-tests-reporting について
自動テストプロジェクトに Testomat.io のレポート機能を設定し、結果やテストコードを TMS に取り込むスキルです。複数の言語・フレームワークに対応し、認証情報の設定、動作確認、必要に応じた成果物保存も案内します。
主な機能
- 01言語とテストフレームワークの検出
- 02Testomat.io レポーターの設定
- 03テストの取り込みと ID 同期
- 04テスト実行結果の確認
- 05依頼に応じた S3 成果物設定
活用シーン
- 01自動テストに Testomat.io のレポートを追加
- 02テスト構成を Testomat.io TMS と同期
- 03アップロードしたテスト実行の取得を確認
- 04依頼に応じて画像・動画・ログを保存
MCP 対応
Testomat.io MCP が有効な場合、実行管理ツールで最新のテスト実行を取得し、結果の受信を確認できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ testomatio/ skills --skill qa-e2e-tests-reportingインストール後、Claude Code で/qa-e2e-tests-reportingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/TESTOMATIO_ARTIFACTS.mdTESTOMATIO_HTML_REPORT.mdTESTOMATIO_REPORTERS_CONFIG.md詳細
Testomat.io レポーターのセットアップ
自動化プロジェクトに Testomat.io レポーターをインストールして設定し、テスト結果を Testomat.io TMS に送信します。
ステップ 1:言語とフレームワークの検出
- プロジェクトのマニフェスト(
package.json、pyproject.toml/requirements.txt、pom.xml/build.gradle、*.csproj、composer.json、Gemfile)から言語を検出します。 - 設定ファイルからフレームワークを検出します:
playwright.config.*、codecept.conf.js、wdio.conf.*、jest.config.*、.mocharc.*、pytest.ini/conftest.py、*.robot/robot.toml、pom.xml内のtestng.xml/JUnit 依存関係。 - スタックにネイティブのレポーターがない場合(C#、PHP、Ruby、Go など)は、JUnit XML のインポートを使用します(ステップ 4)。
ステップ 2:認証情報の設定
.envにTESTOMATIOAPI キーがあるか確認します。存在する場合は、それを使用します。- 存在しない場合は、
.envにプレースホルダーの行を追加します:
TESTOMATIO=tstmt_xxxxx
- プレースホルダーをご自身で「Project Reporting API key」に置き換えるようユーザーに依頼してください。キーをチャットに貼り付けるよう求めてはいけません。
ユーザーへのメッセージ:
✅ Added `TESTOMATIO=tstmt_xxxxx` placeholder to .env
To activate reporting:
1. Go to Testomat.io → your project → Settings → Project
(https://app.testomat.io/projects/<project-id>/settings/project)
2. Copy "Project Reporting API key"
3. Replace `tstmt_xxxxx` in .env with your actual key
4. Run tests: TESTOMATIO=tstmt_xxxxx npx <test-command>
ステップ 3:レポーターのインストールと設定
検出された言語とフレームワークに該当するセクションを選択します。
JavaScript / TypeScript
@testomatio/reporter を使用します:
npm install @testomatio/reporter --save-dev
Playwright — playwright.config.ts または playwright.config.js:
reporter: [
['@testomatio/reporter/playwright'],
// other reporters...
],
CodeceptJS — codecept.conf.js または codecept.config.js:
plugins: {
testomatio: {
enabled: true,
require: '@testomatio/reporter/codecept',
}
}
WebdriverIO — wdio.conf.js:
import testomatio from '@testomatio/reporter/webdriver';
exports.config = {
// ...
reporters: [
[testomatio, { apiKey: process.env.TESTOMATIO }],
],
};
Jest — jest.config.js または jest.config.ts:
module.exports = {
reporters: ['default', ['@testomatio/reporter/jest', { apiKey: process.env.TESTOMATIO }]],
};
Mocha — CLI フラグを指定して実行します:
mocha --reporter @testomatio/reporter/mocha --reporter-options apiKey=tstmt_xxx
- 実行コマンドやその他の設定オプション:./references/TESTOMATIO_REPORTERS_CONFIG.md
- ドキュメント:Testomat.io NodeJS Frameworks
Python
pytest には pytestomatio、Robot Framework には robot-framework-reporter を使用します。
- Python 2.x と 3.x が共存している場合は、
pip3を使用します。
pytest:
pip install pytestomatio
# Run and report tests
pytest --testomatio report
Robot Framework:
pip install robot-framework-reporter
# Run and report tests
robot --listener Testomatio.Report path/to/tests
ドキュメント:Testomat.io Python Reporting
Java(JUnit、TestNG、Cucumber、Karate)
io.testomat の Java レポーターを使用します。
- テストの実行前に API キーを設定するようユーザーに依頼し、設定済みで
tstmt_から始まることを確認します:
export TESTOMATIO=<tstmt_api_key>
- 使用するフレームワークの依存関係を追加します:
<dependency>
<groupId>io.testomat</groupId>
<artifactId>java-reporter-junit</artifactId>
<version>{LATEST_STABLE_VERSION}</version>
</dependency>
アーティファクト ID:java-reporter-junit、java-reporter-testng、java-reporter-cucumber、java-reporter-karate。
- テストを実行します:
mvn clean test
- 出力から実行 ID を探します。見つかった場合は、リンクを表示します:
View results: https://app.testomat.io/projects/{project-id}/runs/{run-id}
ドキュメント:Testomat.io Java/JUnit Reporting
ステップ 4:自動テストを Testomat.io TMS にインポート
テストの構成を確認し、コードベースと TMS の同期を有効にするため、テストのソースコードを Testomat.io にインポートします。
ドキュメント:Testomat.io Import Overview
JavaScript / TypeScript
check-tests CLI を使用します:
npx check-tests@latest <framework> "<glob-pattern>" [options]
| フレームワーク | 例 |
|---|---|
| Playwright | npx check-tests@latest Playwright "tests/**/*.spec.js" |
| CodeceptJS | npx check-tests@latest CodeceptJS "tests/**_test.js" |
| Cypress | npx check-tests@latest cypress "cypress/e2e/**/*.js" |
| Jest | npx check-tests@latest Jest "tests/**/*.test.js" |
| Mocha | npx check-tests@latest mocha "test/**/*_test.js" |
| WebdriverIO | npx check-tests@latest webdriverio "test/**/*.js" |
オプション:
--typescript— TypeScript プロジェクトの場合:npx check-tests@latest Playwright "tests/**/*.spec.ts" --typescript--update-ids— テストを同期し、ソースコードにテスト ID を自動割り当てします:npx check-tests@latest CodeceptJS "tests/**_test.js" --update-ids
Python
pytest — Testomat.io とテストを同期します:
pytest --testomatio sync
Robot Framework — テストをインポートします:
robot --listener Testomatio.Import path/to/tests
Java(JUnit、TestNG)
testomatio.jar CLI を使用します。テスト実行のたびに再実行してください。
- プロジェクトのルートからのみ実行してください:
cd <project-root>
export TESTOMATIO=tstmt_xxxxx && \
curl -L -O https://github.com/testomatio/java-check-tests/releases/latest/download/testomatio.jar && \
java -jar testomatio.jar sync
コマンド:
import— テストコードを Testomat.io にインポートします(API キーなしでドライランを実行します)。clean-ids— システム ID なしでテストをインポートします。sync— テストをインポートし、ID をソースコードに反映します(別名:update-ids)。
JUnit XML(C#、PHP、Ruby、Go など)
ネイティブレポーターがない技術スタックでは、JUnit XML レポートを生成してからインポートします。
- NUnit(C#):
dotnet test --logger:"trx;LogFileName=results.xml"— 必要に応じて JUnit XML に変換します。 - PHPUnit(PHP):
./vendor/bin/phpunit --log-junit=results.xml - RSpec(Ruby):
rspec --format json --out results.json— その後、JUnit XML に変換します。
Testomat.io にインポートします:
npx check-tests@latest junit "path/to/results.xml"
# Multiple XML files
npx check-tests@latest junit "results/*.xml"
ステップ 5:セットアップを確認する
レポーターを有効にしてテストを実行します:
TESTOMATIO=tstmt_xxxxx npx <your-test-command>
Testomat.io MCP 経由(有効な場合に推奨)
- 実行後、MCP 経由で最新の実行結果を取得し、データが受信されたことを確認します。
- 成功の指標:ログに新しい実行 ID が表示されること、実行ステータスが想定どおりに合格/失敗を示すこと、その ID で実行結果を取得できること。
- MCP 経由で新しい実行結果を取得できれば、セットアップは完了です。
- MCP ツール:Testomat.io MCP の実行管理
デバッグモード(代替手段)
- データが正しく生成されることを送信前に確認するため、1~2 件のテストのみレポーターの出力をローカルで取得します:
DEBUG=@testomatio/reporter:pipe:testomatio npx <your-test-command>
- 実行ログを読み、レポーターが有効で、適切に設定されていることを確認します。
- ドキュメント:Testomat.io のデバッグログ
ステップ 6:アーティファクトを設定する(明示的な依頼がある場合のみ)
スクリーンショット、動画、トレース、ログをテスト結果とともに S3 互換ストレージに保存します。
- ユーザーからアーティファクトの設定を明示的に依頼された場合(またはスクリーンショット、動画、トレース、ログの保存について言及された場合)のみ、このステップを実行してください。
- 前提条件:最初のテストレポートが正常に実行されていること。
.envに既存の S3 認証情報(S3_ACCESS_KEY_ID、S3_BUCKET、S3_REGION)があるか確認します。存在する場合は、検証に進みます。
S3 バケットを作成する(必要な場合)
- 推奨:プロジェクトごとに 1 つのバケットを使用します。
- 公式ドキュメントを参照し、使用するプロバイダーに応じてユーザーを案内します:
| プロバイダー | リンク |
|---|---|
| AWS S3 | https://s3.console.aws.amazon.com/s3 |
| DigitalOcean | https://cloud.digitalocean.com/spaces |
| Google Cloud Storage | https://console.cloud.google.com/storage |
| Cloudflare R2 | https://dash.cloudflare.com/ |
| Minio | セルフホストまたはクラウドインスタンス |
- ユーザーはプロバイダーからアクセスキー ID とシークレットアクセスキーを取得します。
オプション A:Testomat.io UI(推奨)
- エージェントは Testomat.io のプロジェクト設定にアクセスできないため、ユーザーが手動で設定します:
https://app.testomat.io/projects/<project-id>/settings/artifactsを開きます- 「Share credentials」トグルを有効にします。
- アクセスキー ID、シークレットアクセスキー、バケット名、リージョン、エンドポイントを入力します(エンドポイントが必要なのは AWS 以外のプロバイダーのみです)。
オプション B:環境変数
S3 認証情報を .env または CI パイプラインに追加します:
# Required for all providers
S3_ACCESS_KEY_ID=your_access_key
S3_SECRET_ACCESS_KEY=your_secret_key
S3_BUCKET=your_bucket_name
S3_REGION=us-west-1
# Optional: for non-AWS providers (DigitalOcean, Minio, Cloudflare R2, GCS)
S3_ENDPOINT=https://your-endpoint-url
# Optional: private access mode (recommended)
TESTOMATIO_PRIVATE_ARTIFACTS=1
Cloudflare R2 の例:
S3_ACCESS_KEY_ID=xxx
S3_SECRET_ACCESS_KEY=xxx
S3_BUCKET=testomatio-artifacts
S3_REGION=auto
S3_ENDPOINT=https://<account-id>.r2.cloudflarestorage.com
S3_FORCE_PATH_STYLE=true
- アップロードを無効にする:
TESTOMATIO_DISABLE_ARTIFACTS=1 - プロバイダーの例(AWS、DigitalOcean、Minio、GCS):./references/TESTOMATIO_ARTIFACTS.md
- その他のオプション:Testomat.io のアーティファクト
アーティファクトを検証する
- スクリーンショット、動画、またはトレースを生成するテストを実行します:
TESTOMATIO=tstmt_xxxxx npx <your-test-command> - ユーザーに
https://app.testomat.io/projects/<project-id>/runsを開き、アーティファクトのあるテストをクリックするよう依頼します(通常、失敗したテストにはスクリーンショットがあります)。 - 成功の条件:テスト結果にアーティファクトが表示され(「Artifacts」セクションまたは添付ファイルアイコン)、クリックできること。Playwright のトレースがトレースビューアーで開くこと。
References
| Description | Link |
|---|---|
| Getting started | https://docs.testomat.io/getting-started/ |
| Reporter configuration | https://docs.testomat.io/test-reporting/frameworks/ |
| Framework config snippets | ./references/TESTOMATIO_REPORTERS_CONFIG.md |
| Python test reporting | https://docs.testomat.io/test-reporting/python/ |
| Python Robot Framework | https://github.com/testomatio/robot-framework-reporter/blob/master/README.md |
| Java/JUnit reporting | https://docs.testomat.io/test-reporting/junit/ |
| HTML pipe | ./references/TESTOMATIO_HTML_REPORT.md |
| Debug pipe | TESTOMATIO_DEBUG=1 <test-command> |
| Artifacts (S3) | ./references/TESTOMATIO_ARTIFACTS.md |