mcpField
Q
qa-e2e-tests-reporting

qa-e2e-tests-reporting

github.com/testomatioテスト・品質1697 回インストール6 日前に更新
リポジトリ

qa-e2e-tests-reporting について

自動テストプロジェクトに Testomat.io のレポート機能を設定し、結果やテストコードを TMS に取り込むスキルです。複数の言語・フレームワークに対応し、認証情報の設定、動作確認、必要に応じた成果物保存も案内します。

主な機能

  1. 01言語とテストフレームワークの検出
  2. 02Testomat.io レポーターの設定
  3. 03テストの取り込みと ID 同期
  4. 04テスト実行結果の確認
  5. 05依頼に応じた S3 成果物設定

活用シーン

  1. 01自動テストに Testomat.io のレポートを追加
  2. 02テスト構成を Testomat.io TMS と同期
  3. 03アップロードしたテスト実行の取得を確認
  4. 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.md
TESTOMATIO_HTML_REPORT.md
TESTOMATIO_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 に TESTOMATIO API キーがあるか確認します。存在する場合は、それを使用します。
  • 存在しない場合は、.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
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]
フレームワーク例
Playwrightnpx check-tests@latest Playwright "tests/**/*.spec.js"
CodeceptJSnpx check-tests@latest CodeceptJS "tests/**_test.js"
Cypressnpx check-tests@latest cypress "cypress/e2e/**/*.js"
Jestnpx check-tests@latest Jest "tests/**/*.test.js"
Mochanpx check-tests@latest mocha "test/**/*_test.js"
WebdriverIOnpx 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 S3https://s3.console.aws.amazon.com/s3
DigitalOceanhttps://cloud.digitalocean.com/spaces
Google Cloud Storagehttps://console.cloud.google.com/storage
Cloudflare R2https://dash.cloudflare.com/
Minioセルフホストまたはクラウドインスタンス
  • ユーザーはプロバイダーからアクセスキー ID とシークレットアクセスキーを取得します。
オプション A:Testomat.io UI(推奨)
  • エージェントは Testomat.io のプロジェクト設定にアクセスできないため、ユーザーが手動で設定します:
    1. https://app.testomat.io/projects/<project-id>/settings/artifacts を開きます
    2. 「Share credentials」トグルを有効にします。
    3. アクセスキー 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=tstmt_xxxxx npx <your-test-command>
  • ユーザーに https://app.testomat.io/projects/<project-id>/runs を開き、アーティファクトのあるテストをクリックするよう依頼します(通常、失敗したテストにはスクリーンショットがあります)。
  • 成功の条件:テスト結果にアーティファクトが表示され(「Artifacts」セクションまたは添付ファイルアイコン)、クリックできること。Playwright のトレースがトレースビューアーで開くこと。

References

DescriptionLink
Getting startedhttps://docs.testomat.io/getting-started/
Reporter configurationhttps://docs.testomat.io/test-reporting/frameworks/
Framework config snippets./references/TESTOMATIO_REPORTERS_CONFIG.md
Python test reportinghttps://docs.testomat.io/test-reporting/python/
Python Robot Frameworkhttps://github.com/testomatio/robot-framework-reporter/blob/master/README.md
Java/JUnit reportinghttps://docs.testomat.io/test-reporting/junit/
HTML pipe./references/TESTOMATIO_HTML_REPORT.md
Debug pipeTESTOMATIO_DEBUG=1 <test-command>
Artifacts (S3)./references/TESTOMATIO_ARTIFACTS.md

コメント