mcpField
T
testrail

testrail

github.com/alirezarezvaniテスト・品質28.9k1.6k 回インストール2 日前に更新
リポジトリ

testrail について

testrailは、PlaywrightのテストとTestRailのテスト管理を双方向に同期するスキルです。ケースの取り込みや結果の送信に対応しますが、MCPサーバーは手動で設定する必要があります。

主な機能

  1. 01TestRailのケースからPlaywrightテストを生成
  2. 02テスト結果をTestRailへ送信
  3. 03TestRailのテストランを作成
  4. 04ケースとテストの紐付けを確認
  5. 05テストコードからケースを更新

活用シーン

  1. 01TestRailのケースをPlaywrightプロジェクトへ取り込み
  2. 02自動テストの結果をTestRailへ送信
  3. 03未紐付けのケースとテストを特定
  4. 04Playwrightのコードを基にケースを更新

MCP 対応

TestRail MCPツールを使い、プロジェクト、スイート、ケース、テストラン、結果を読み書きします。サーバーは自動登録されないため、手動でインストールと設定が必要です。環境変数の設定だけでは利用できません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill testrail

インストール後、Claude Code で/testrailを入力して読み込まれたか確認します。

詳細

TestRail 連携

Playwright テストと TestRail テスト管理の双方向同期です。

前提条件

環境変数を設定する必要があります。

  • TESTRAIL_URL — 例:https://your-instance.testrail.io
  • TESTRAIL_USER — メールアドレス
  • TESTRAIL_API_KEY — TestRail の API キー

設定されていない場合は、設定方法をユーザーに伝えて停止してください。

TestRail MCP サーバーは自動登録されません(issue #978)。 pw-testrail は、すべてのユーザーで接続に失敗していたため、プラグインの .mcp.json から削除されました(プラグインには node_modules が含まれていません)。以下で使用する testrail_* MCP ツールと /pw:testrail コマンドは、手動で有効にするまで「tool not found」エラーで失敗します。詳しくはプラグインの CLAUDE.md の Integrations セクションをご覧ください(cd integrations/testrail-mcp && npm install を実行し、ご自身のユーザーまたはプロジェクトの MCP 設定にサーバーを登録してください)。環境変数を設定するだけでは不十分です。

機能

1. テストケースをインポート → Playwright テストを生成
/pw:testrail import --project <id> --suite <id>

手順:

  1. testrail_get_cases MCP ツールを呼び出してテストケースを取得します
  2. 各テストケースについて、以下を行います。
    • タイトル、前提条件、手順、期待結果を読み取ります
    • 適切なテンプレートを使用して Playwright テストに対応付けます
    • TestRail のケース ID をテストのアノテーションとして含めます:test.info().annotations.push({ type: 'testrail', description: 'C12345' })
  3. セクションごとにグループ化したテストファイルを生成します
  4. 結果を報告します:インポートしたケース数 X、生成したテスト数 Y
2. テスト結果を TestRail に送信
/pw:testrail push --run <id>

手順:

  1. JSON レポーターを使用して Playwright テストを実行します。
    npx playwright test --reporter=json > test-results.json
    
  2. 結果を解析し、各テストを TestRail のケース ID(アノテーションから取得)に対応付けます
  3. 各テストについて testrail_add_result MCP ツールを呼び出します。
    • 成功 → status_id: 1
    • 失敗 → status_id: 5、エラーメッセージを含めます
    • スキップ → status_id: 2
  4. 結果を報告します:送信した結果数 X、成功数 Y、失敗数 Z
3. テストランを作成
/pw:testrail run --project <id> --name "Sprint 42 Regression"

手順:

  1. testrail_add_run MCP ツールを呼び出します
  2. Playwright テストのアノテーションで見つかったすべてのテストケース ID を含めます
  3. 結果の送信に使用するテストラン ID を返します
4. ステータスを同期
/pw:testrail status --project <id>

手順:

  1. TestRail からテストケースを取得します
  2. ローカルの Playwright テストをスキャンし、TestRail のアノテーションを探します
  3. カバレッジを報告します。
    TestRail cases: 150
    Playwright tests with TestRail IDs: 120
    Unlinked TestRail cases: 30
    Playwright tests without TestRail IDs: 15
    
5. TestRail のテストケースを更新
/pw:testrail update --case <id>

手順:

  1. このケース ID に対応する Playwright テストを読み取ります
  2. テストコードから手順と期待結果を抽出します
  3. testrail_update_case MCP ツールを呼び出して手順を更新します

使用する MCP ツール

ツール使用タイミング
testrail_get_projects利用可能なプロジェクトの一覧表示
testrail_get_suitesプロジェクト内のスイートの一覧表示
testrail_get_casesテストケースの読み取り
testrail_add_case新しいテストケースの作成
testrail_update_case既存のテストケースの更新
testrail_add_runテストランの作成
testrail_add_result個別の結果の送信
testrail_get_results過去の結果の読み取り

テストアノテーションの形式

TestRail にリンクされたすべての Playwright テストには、以下が含まれます。

test('should login successfully', async ({ page }) => {
  test.info().annotations.push({
    type: 'testrail',
    description: 'C12345',
  });
  // ... test code
});

このアノテーションが Playwright と TestRail をつなぎます。

出力

  • 件数を含む操作概要
  • エラーまたは対応付けられなかったケース
  • TestRail のテストラン/結果へのリンク

コメント