sap-sac-test-automation について
SAP Analytics Cloud(SAC)のストーリーやダッシュボードを対象とするテスト自動化スキルです。機能とポリシーに基づく検出方法の選択、人が承認するプロファイルとベースライン、Playwright による実行、CI ゲート、障害証跡を扱います。
主な機能
- 01機能に応じた検出バックエンド選択
- 02人がレビューするダッシュボードプロファイルとベースライン
- 03プロファイル駆動の Playwright テスト設計
- 04読み取り専用スモークテストと CI ゲート
- 05トレースやスクリーンショットを含む障害レポート
活用シーン
- 01SAC ダッシュボードの読み取り専用テスト計画
- 02SAC ストーリー向けの安全な CI 段階設定
- 03計画機能や権限テストのリスク確認
- 04収集した証跡による障害の切り分け
MCP 対応
Chrome DevTools MCP を含む MCP は、任意のブラウザー検出手段として記載されています。関連する SAC scripting スキルの MCP 設定にも触れ、機能とポリシーの確認に基づいて許可された検出方法を選びます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-sac-test-automationインストール後、Claude Code で/sap-sac-test-automationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlreferences/agent-browser-discovery.mdarchitecture.mdchrome-devtools-mcp.mddashboard-profiles-and-scenarios.mdedge-cdp-enterprise.mdfailure-triage-and-artifacts.mdgovernance-and-sac-testability.mdplaywright-execution.mdtool-availability-and-deployment.mdtemplates/dashboard-profile.yamlintake.mdscenario-read-only-smoke.yaml詳細
SAP Analytics Cloud テスト自動化
機能の利用可否に応じて動作するシステムとして、再利用可能な SAC テスト自動化を設計します。最も安全な検出バックエンドを選択し、プロファイルとベースラインには人によるレビューを必須としたうえで、レビュー済みの Playwright コードを使って、決定論的な実行、CI によるゲート管理、レポート作成、エビデンス収集を行います。
基本ルールを適用します。検出で案を提示し、人が承認し、Playwright が実行し、CI が適用します。
関連スキル
- sap-sac-scripting:Optimized Story Experience のスクリプト、Analytics Designer API、診断ウィジェット、ストーリースクリプトの動作、SAC MCP の設定に使用します。
- sap-sac-planning:計画モデル、プライベート/パブリックバージョン、データアクション、マルチアクション、検証ルール、ライトバックのリスク分析に使用します。
- sap-sac-custom-widget:ダッシュボードに、安定した ARIA ラベル、公開テストフック、ライフサイクルの修正、またはブラックボックステストの契約が必要な、自社所有のカスタムウィジェットが含まれる場合に使用します。
- sap-dependency-security:ソースを指定したブラウザツール、MCP サーバー、CI 依存関係、または SAC 認証情報を扱う実行可能な自動化を追加する前に使用します。
- sap-browser-automation:アプリ内での手動認証、同意を得た Edge プロファイルの再利用、新規 Edge/CDP の起動、認証状態の初期化、ブラウザの復旧に使用します。
- agent-browser:Vercel Labs の agent-browser CLI を利用でき、正確なコマンド構文、snapshot/ref の使用方法、スクリーンショット、コンソール、ネットワークの調査が必要な場合に、任意で読み込みます。
- playwright:CLI によるブラウザ操作とデバッグに任意で読み込みます。永続的な
@playwright/testスイートでは、この SAC スキルをテストアーキテクチャのガイドとして使用し、ローカルプロジェクトの Playwright 規約に従ってください。 - chrome-devtools:Chrome DevTools MCP がインストールされ、読み取り専用のブラウザ検出、コンソール/ネットワークの調査、スクリーンショット、Lighthouse、パフォーマンストレースの使用が承認されている場合に、任意で読み込みます。Chrome、Edge、CDP、または Chrome DevTools MCP の明示的なリクエストには従ってください。SAC の安全なデフォルト設定と Edge の境界については、
references/chrome-devtools-mcp.mdを使用します。
初期ガイダンス
ユーザーが SAC 自動化を開始する場合、またはレビュー済みのダッシュボードプロファイルを提示していない場合は、/sac-test-onboard に案内するか、同じインテーク手順を手動で実施してください。インテークは 2 段階で行います。
- ステージ 1:環境クラス、テナントのリスク、許可される検出/実行ツール、認証とロール、ライトバック/コメントの範囲、ベースラインの所有者。
- ステージ 2:計画/ライトバック、コメント、権限、ビジュアル/データのベースライン、カスタムウィジェット、CI ステージ、失敗時のエビデンス。
ユーザーがファイル作成と保存先ディレクトリを明示的に確認するまでは、成果物はデフォルトでドラフトのみとします。書き込みが確認された場合は、同梱のテンプレートをもとに、profiles/<profile-id>/intake.md、profiles/<profile-id>/dashboard.yaml、profiles/<profile-id>/scenarios/read-only-smoke.yaml を使用します。
プロファイルまたはシナリオのドラフトが作成されたら、利用可能な場合は sac-test-profile-reviewer に安全性レビューを依頼します。レビュー担当者の範囲は、インテーク/プロファイル/シナリオの安全性に限定し、Playwright スイート全体の実装には広げないでください。
このスキルの使用場面
以下を含む SAC 自動化の計画、実装、レビューに使用します。
- SAC ストーリー、最適化済みストーリー、レポート、ダッシュボード、タブ、フィルター、プロンプト、テーブル、チャート、エクスポート、スクリプト、コメント、ブックマーク。
- ダッシュボードプロファイルファイル、シナリオ YAML、期待データファイル、ビジュアルベースライン、Playwright アダプター、SAC 固有のフィクスチャ。
- 保存済み認証状態、SSO/MFA の制約、ロールベースのテストユーザー、権限マトリックス、CI ゲート。
- 計画データのライトバック、プライベート/パブリックバージョン、データロック、検証ルール、データアクション、マルチアクション、コメントのクリーンアップ。
- トレース、スクリーンショット、動画、ビジュアル差分、期待値と実測値、コンソール/ネットワークの概要、根本原因の分類を含む失敗パケット。
汎用 Web アプリケーションの主なガイドとして、このスキルを使用しないでください。SAC 以外のサイトには、一般的な Playwright ガイダンスを使用してください。
クイックスタート
- SAC ストーリーを分類します:本番環境での読み取り専用、QA クローン、計画/書き戻し、コメント、権限の影響を受けるもの、または探索的なもの。
- 自動化ポリシーを定めます:許可されたテナント、許可されたユーザー、認証情報の保存方法、書き戻しの承認、ベースラインの承認、CI のトリガー。
- 機能とポリシーのゲートを実行します。ユーザーがブラウザーまたは接続方法を指定した場合は、指定された接続先のみを確認します。それ以外の場合は、インストール済みで許可されているものに基づいて、手動での調査、Firecrawl による公開情報の調査、対応する Chrome を使用した Chrome DevTools MCP、Microsoft Edge/CDP、Edge を使用した Chrome DevTools MCP(ベストエフォート)、Playwright、agent-browser、または承認済みのエンタープライズブラウザーラボを選択します。
- 選択したバックエンドで読み取り専用の調査を実行します。承認されていない外部サービスに非公開の SAC コンテンツを送信せずに、スナップショット、注釈付きスクリーンショット、コンソール/ページエラー、ネットワークの手がかり、候補となるコンポーネントマップを取得します。
- 調査結果を、人がレビューするダッシュボードプロファイルにまとめます。ページ、ウィジェット、ロケーター、準備完了マーカー、ロール、データベースライン、ビジュアルベースライン、既知の制約を記録します。
- 再利用可能なアダプターを介して、決定論的な Playwright テストを実装します。シナリオファイルにセレクターを含めず、プロファイルのコンポーネント ID を介して操作を行います。
- まず安全なパックだけを CI のゲート対象にします:認証チェック、読み取り専用のスモークテスト、ナビゲーション、重要なウィジェットの準備完了。計画、コメント、データアクション、ビジュアルベースライン、すべての権限チェックは、管理されたステージまたは夜間実行に移します。
- レビューしやすい失敗時の証跡を出力します:HTML レポート、トレース、スクリーンショット、動画、ビジュアル差分、ウィジェットのメタデータ、期待値と実際の値、失敗カテゴリ。
読み取り専用ストーリーの受け入れ条件
レポート専用の SAC ストーリーとダッシュボードには、この契約を適用します。これはプロファイル駆動のスモークシナリオを補完するものであり、計画やモデルの変更を許可するものではありません。
テナントとモデルの安全性
- 操作する前に、承認済みのテナント、ストーリー、データソース/モデルを確認します。
- 現在の SAC 領域が Modeler ではなく Story Designer であることを確認します。
- モデル編集ダイアログ、モデルの保存、マスターデータの変更、権限の変更、計画の書き戻し、バージョンの公開、データアクション、マルチアクション、ロックの変更が発生していないことを確認します。
- アサーションは、承認済みモデルで公開されているディメンション、メジャー、階層、フィルター、比較カテゴリにのみ紐付けます。必要なフィールドが利用できない場合は、それに依存するウィジェットを省略し、省略したことを記録します。
ストーリーの準備状態
- 各ページを開き、ページ固有の準備完了マーカー、スピナーの消失、ウィジェット状態の安定、SAC のエラーメッセージが表示されていないことを待ちます。
- すべての KPI、チャート、テーブルに値または明示的なデータなし状態が表示されていることを確認します。読み込みの完了だけでは不十分です。
- フィルターが設定され、有効な値を受け付け、モデルを変更せずに依存するウィジェットを更新することを確認します。
- 設定されている場合は、承認済みの選択、ナビゲーション、ドリルダウンを実行し、結果のテーブルまたはチャートの状態に整合性があることを確認します。
- 未解決のウィジェット、無効なバインディング、利用できないフィールド、関連するコンソールまたはネットワークエラー、テナント固有の制限を記録します。
証跡
- ストーリーの各ページについて、承認済みのスクリーンショットまたは同等の成果物を取得し、ストーリー名と場所を記録します。
- ビジュアル証跡と KPI、テーブル、またはデータのアサーションを組み合わせます。チャートのピクセルだけをビジネス値の確認に使ってはいけません。
- テナント ID、ストーリー ID、セッションに関連する URL パラメーター、認証情報、Cookie、非公開のスクリーンショット、無関係なタブの内容はマスキングします。
ブラウザーの障害と誠実な引き継ぎ
ブラウザーへのアクセスは実行の前提条件であり、ストーリーが存在する証拠ではありません。agent is not defined などのランタイムエラーを含め、ブラウザーの初期化または検出に失敗した場合:
- 選択したブラウザーのトラブルシューティングガイダンスを読み、認証やテナントの権限を回避せずに検出を再試行します。
- ユーザーがブラウザーまたは接続方法を明示的に指定した場合、別のブラウザーサーフェスに切り替えないでください。そのツールがアクティブなレジストリにない場合は、Codex の再起動または新しいタスクを依頼します。
- 稼働中の
list_pagesまたは同等のハンドシェイクを必須とし、返されたページが要求されたブラウザーに属していることを確認します。設定、パッケージの起動、またはDevToolsActivePortだけでは不十分です。 - ブラウザーまたは接続方法が明示的に指定されていない場合は、
sap-browser-automationと、references/edge-cdp-enterprise.mdに記載された承認済みの Microsoft Edge/CDP 復旧ガイダンスを使用します。 - 認証済みテナントの制御を確立できない場合は、実行をブロックとしてマークします。ストーリーが作成または検証されたと主張しないでください。
- ストーリーの目的と対象読者、確認済みのモデルメタデータ、ページごとのウィジェットとフィルター、インタラクション、省略または未解決のフィールド、読み取り専用の制約、今後必要な検証証拠を含む、実装にすぐ着手できる仕様を引き継ぎます。
運用モデル
AI/ブラウザーエージェントの出力は下書きとして扱い、信頼できる唯一の情報源とは見なしません。プロファイルの作成、セレクターの承認、想定される業務上の値、視覚/データベースラインの変更、権限マトリックス、破壊的なシナリオや書き戻しを伴うシナリオについては、人によるレビューを必須とします。
プロファイル駆動型の自動化を優先します。
- テナント/ストーリーのメタデータ、ページ、コンポーネント、ロール、ベースライン、テストポリシーを、バージョン管理された YAML/JSON に保存します。
- ボタン、テーブル、チャート、タブ、フィルター、プロンプト、プランニングテーブル、コメント、カスタムウィジェット、エクスポート、ブックマークなどの SAC コンポーネントタイプ向けアダプターを実装します。
- セレクターはシナリオファイルに含めません。シナリオではコンポーネント ID とアクションを呼び出し、アダプターがロケーターと準備完了時の動作を解決するようにします。
- 各ダッシュボードでは、まず逐次実行します。認証状態、テナント状態、コメント、プランニングのバージョン、ライブ接続、バックエンドの容量が分離されていることを確認してから、並列度を高めます。
バンドルされたリソース
これらのリファレンスは必要に応じて読み込んでください。
references/architecture.md:ハイブリッドアーキテクチャ、実現可能性の境界、信頼性の高い SAC テストカテゴリ、再利用可能なプロジェクト構成。references/tool-availability-and-deployment.md:バックエンドの判断マトリクス、Windows/制限付き環境での確認事項、Firecrawl の公開情報調査ポリシー、ツールを利用できない場合の代替策。references/chrome-devtools-mcp.md:Chrome DevTools MCP のモード、SAC に安全な構成、ツールカテゴリ、CLI の使用方法、Windows/制限付き環境へのデプロイ、エンタープライズ向けの安全性の境界。references/edge-cdp-enterprise.md:共有のsap-browser-automation認証、プロファイルのコピー、Edge/CDP、復旧レイヤーを対象とする SAC テスト自動化アドオン。references/dashboard-profiles-and-scenarios.md:ダッシュボードプロファイルの契約、シナリオの契約、アダプターの責務、オンボーディングの流れ。references/agent-browser-discovery.md:任意で利用できる、読み取り専用の agent-browser 調査ワークフロー、コマンドのパターン、出力成果物、人によるレビューのチェックリスト。references/playwright-execution.md:Playwright テストランナーのガイダンス、認証、準備完了の判定、CI の各段階、テストカテゴリのポリシー。references/governance-and-sac-testability.md:SAC のテスト容易性に関する契約、認証/SSO、計画/コメントの安全性、ベースラインの承認、ロールのガバナンス。references/failure-triage-and-artifacts.md:必須のエビデンス、障害パケットの形式、根本原因のカテゴリ、パフォーマンス/準備状況の指標。templates/intake.md:ポリシー、ツール、ロール、リスク、ベースライン、承認に関するガイダンス付きの受付パケット。templates/dashboard-profile.yaml:SAC メタデータ、準備状況、コンポーネント、ロール、ベースライン、リスクポリシーを含むダッシュボードプロファイルのスターター。templates/scenario-read-only-smoke.yaml:プロファイルのコンポーネント ID を使用する、セレクター不要のスモークシナリオのスターター。
稼働中のプロジェクトに実装する場合は、新しい構成を追加する前に、プロジェクト既存の Playwright 設定、パッケージマネージャー、CI、プロファイルスキーマ、成果物の規約も確認してください。
よくある問題
- 生成された SAC DOM ID や非公開のフレームワーククラスは避けてください。表示ラベル、ARIA ロール、テキスト、ウィジェットのメタデータ、プロファイルのコンポーネント ID、およびレビュー済みのフォールバックを優先してください。
- ストーリーのシェルが読み込まれたことを、ウィジェットの準備完了とみなさないでください。ページマーカー、重要なウィジェット、SAC のエラーテキストがないこと、スピナーの消失、値の安定、および再試行するアサーションを確認してください。
- MFA の自動化をリリースの依存要件にしないでください。保存済みの認証状態、専用のテストユーザー、セキュリティ承認済みのテスト IdP ポリシー、または手動での更新を優先してください。
- 明示的な正式承認がない限り、本番環境でコメント、計画の書き戻し、公開バージョンの公開、データアクション、複数アクションを実行しないでください。
- 視覚的な差異やデータの差異を自動的に承認しないでください。オーナーによるレビュー、ベースラインの理由、およびプルリクエストの証跡を必須にしてください。
- チャートのピクセルだけを業務値のアサーションとして使用しないでください。可能な場合は、チャートのスクリーンショットとテーブル、KPI、データのアサーションを組み合わせてください。
- 会社の環境で agent-browser、Playwright CLI、Chrome DevTools MCP、Firecrawl MCP、公開 npm、ブラウザーのダウンロード、リモートデバッグが利用できると決めつけないでください。機能ゲートを使用し、フォールバックを記録してください。
- Chrome DevTools MCP を、監査対象の CI リリースゲートとして使用しないでください。調査やデバッグに使用し、承認済みの調査結果をプロファイル駆動の Playwright テストに反映してください。
- 使用統計、更新チェック、CrUX のフィールドデータ参照を無効にし、プロファイル、URL、スクリーンショット、ネットワーク出力に関する制御を適用せずに、非公開の SAC に対して Chrome DevTools MCP を実行しないでください。
- MCP の設定が、実際に利用可能であることを意味するとみなさないでください。現在のタスクレジストリでツールを確認し、要求されたブラウザーを使用する前に、ライブのページ一覧ハンドシェイクを完了してください。
- 明示的に要求された Chrome、Edge、CDP、または Chrome DevTools MCP の操作環境を、In-app Browser、拡張機能、Playwright、Computer Use、別のブラウザー、またはシェルの自動化に黙って置き換えないでください。
- CDP をループバック以外に公開したり、
webSocketDebuggerUrlを公開したり、Edge のRemoteDebuggingAllowedポリシーを回避したりしないでください。日常使用のユーザープロファイルへの接続やコピーには、明示的な承認と、共有スキルの分離プロファイル手順が必要です。 /json/versionまたは/json/listが404を返すことを、Edge CDP が使用できない証拠とみなさないでください。DevToolsActivePortを読み取り、ハーネスがサポートしている場合に限り、ブラウザーの直接 WebSocket を使用してください。- 正確なデプロイ環境と保持モードが承認されていない限り、認証済みの SAC テナントページ、スクリーンショット、HAR、Cookie、ストレージ状態、内部 URL、顧客データ、非公開の社内文書を Firecrawl に送信しないでください。
- SAC の最適化されたストーリー機能、テナント構成、ライブデータ、ローカライズ、プロンプトの永続化が、すべての顧客で同じように動作すると決めつけないでください。
ソースおよび検証に関する注記
docs/project/sac-test-automation-source-review-2026-06-17.md に記録された、取り込まれた SAC 自動テストスイートの計画内容と、このスキルに同梱された抽出済みのプロファイル/シナリオテンプレートに基づいています。計画のソースでは、SAP Help、Vercel Labs の agent-browser、および Playwright のドキュメントが参照されています。Edge/CDP と Chrome DevTools MCP に関するガイダンスでは、ChromeDevTools/chrome-devtools-mcp の README、CLI ドキュメント、ツールリファレンス、トラブルシューティングガイド、パッケージメタデータ、同梱スキル、Issue #1235 と PR #1229、Microsoft Edge DevTools Protocol のドキュメント、Microsoft Edge DevTools MCP のガイダンス、Edge の RemoteDebuggingAllowed ポリシー、および MCP/検索/スクレイピングの安全性に関する Firecrawl の公開ドキュメントも考慮しています。このスキルはドキュメントの監査のみを対象としています。ライブ SAC テナントでの実行、Chrome DevTools MCP のランタイム動作、SSO の動作、CI の動作、計画の書き戻し、視覚的ベースラインの安定性はテナントごとに異なるため、ランタイムに関する主張を行う前に検証する必要があります。