testrail について
testrailは、PlaywrightのテストとTestRailのテスト管理を双方向に同期するスキルです。ケースの取り込みや結果の送信に対応しますが、MCPサーバーは手動で設定する必要があります。
主な機能
- 01TestRailのケースからPlaywrightテストを生成
- 02テスト結果をTestRailへ送信
- 03TestRailのテストランを作成
- 04ケースとテストの紐付けを確認
- 05テストコードからケースを更新
活用シーン
- 01TestRailのケースをPlaywrightプロジェクトへ取り込み
- 02自動テストの結果をTestRailへ送信
- 03未紐付けのケースとテストを特定
- 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.ioTESTRAIL_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>
手順:
testrail_get_casesMCP ツールを呼び出してテストケースを取得します- 各テストケースについて、以下を行います。
- タイトル、前提条件、手順、期待結果を読み取ります
- 適切なテンプレートを使用して Playwright テストに対応付けます
- TestRail のケース ID をテストのアノテーションとして含めます:
test.info().annotations.push({ type: 'testrail', description: 'C12345' })
- セクションごとにグループ化したテストファイルを生成します
- 結果を報告します:インポートしたケース数 X、生成したテスト数 Y
2. テスト結果を TestRail に送信
/pw:testrail push --run <id>
手順:
- JSON レポーターを使用して Playwright テストを実行します。
npx playwright test --reporter=json > test-results.json - 結果を解析し、各テストを TestRail のケース ID(アノテーションから取得)に対応付けます
- 各テストについて
testrail_add_resultMCP ツールを呼び出します。- 成功 → status_id: 1
- 失敗 → status_id: 5、エラーメッセージを含めます
- スキップ → status_id: 2
- 結果を報告します:送信した結果数 X、成功数 Y、失敗数 Z
3. テストランを作成
/pw:testrail run --project <id> --name "Sprint 42 Regression"
手順:
testrail_add_runMCP ツールを呼び出します- Playwright テストのアノテーションで見つかったすべてのテストケース ID を含めます
- 結果の送信に使用するテストラン ID を返します
4. ステータスを同期
/pw:testrail status --project <id>
手順:
- TestRail からテストケースを取得します
- ローカルの Playwright テストをスキャンし、TestRail のアノテーションを探します
- カバレッジを報告します。
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>
手順:
- このケース ID に対応する Playwright テストを読み取ります
- テストコードから手順と期待結果を抽出します
testrail_update_caseMCP ツールを呼び出して手順を更新します
使用する 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 のテストラン/結果へのリンク