Power Platform Playwright サンプル は、すべての Power Platform アプリの種類に対して信頼性の高い保守可能なエンド ツー エンド テストを記述できるフレームワークを提供するオープンソース リポジトリです。 Microsoft Playwright 上に構築され、ページ オブジェクト モデル (POM) パターン、組み込みの認証ヘルパー、および Power Platform ランタイム専用に設計された再利用可能なコンポーネントを提供します。
注
このフレームワークは、TypeScript、完全な IDE 統合、および直接 Playwright API アクセスを優先するチームに対して、Power Apps テスト エンジン の代替として推奨されるプレイライトネイティブです。
Power Platform Playwright サンプルの主な機能
Power Platform Playwright サンプルには、次の機能が用意されています。
-
統合アプリ起動ツール: 1 つの
AppProviderクラス は、一貫性のある API を使用して、キャンバス、モデル駆動型、または AI によって生成された任意のアプリの種類を起動します。 -
Page オブジェクト モデル: 事前構築された
ModelDrivenAppPage、CanvasAppPage、およびGenUxPageクラスは、テストが要件と同じように読み取ることができるように、高度なメソッドを公開します。 -
組み込みのグリッドコンポーネントとフォーム コンポーネント:
GridComponentとFormComponentは、複雑な AG グリッド を処理し、カスタム セレクターを使用せずに DOM 構造体を形成します。 - Dual-domain authentication: Storage 状態ファイルは、Power Apps ドメインと Dynamics 365/CRM ドメインの両方をカバーし、1 回取得してすべてのテストで再利用します。
- AI 支援オーサリング: Playwright MCP サーバーと統合されるため、GitHub Copilotや Claude などの AI コーディング アシスタントは、IDE でテストを直接生成、修正、説明できます。
- CI/CDに対応しています: GitHub Actions、Azure Pipelines、またはPlaywright互換環境でヘッドレス実行が可能です。
サポートされるアプリの種類
| アプリの種類 | ページオブジェクト | 説明 |
|---|---|---|
| キャンバス アプリ | CanvasAppPage |
Power Apps Studio に組み込まれているアプリ |
| モデル駆動型アプリ | ModelDrivenAppPage |
ビューとフォームを使用して Dataverse 上に構築されたアプリ |
| カスタム ページ | ModelDrivenAppPage |
モデル駆動型アプリに埋め込まれたキャンバス ページ |
| AI によって生成されたアプリ (Gen UX) | GenUxPage |
テスト フレームワークのしくみ
フレームワークは、次の 2 つのパッケージを含む ラッシュ モノレポです。
| パッケージ | 説明 |
|---|---|
power-platform-playwright-toolkit |
ページ オブジェクト、コンポーネント、ロケーター、認証ヘルパーを含むコア ライブラリ。 このパッケージをローカルで参照します。 |
e2e-tests |
Northwind Traders ソリューションを対象とするサンプル テストを使用した参照実装。 この実装は出発点です。 |
フレームワークを使用するためにリポジトリを複製またはフォークします。 フル ソース アクセスを使用すると、すべてのセレクターとヘルパーを可視化し、ライブラリを環境に合わせて調整できます。
このフレームワークを使用する場合
必要な場合は、Power Platform Playwright サンプルを使用します。
- 完全な IDE サポートとタイプ セーフを備えた TypeScript ネイティブ テスト
- Playwright API (
page、locator、expect) への直接アクセス - クロスブラウザー テストの実行 (Chromium、Firefox、WebKit)
- Playwright MCP サーバーを使用した AI 支援テストの生成
- 既存の CI/CD パイプラインとの統合
Power Apps テスト エンジンとの比較
| 能力 | Power Apps テスト エンジン | Power Platform Playwright のサンプル |
|---|---|---|
| Language | Power Fx YAML | TypeScript |
| ランタイム | .NET | Node.js |
| IDE のサポート | Basic | 完全な VS コード /JetBrains |
| 認証 | 構成ファイル | 再利用可能なストレージの状態 |
| ページ オブジェクト モデル | いいえ | はい |
| AIオーサリング | いいえ | はい (プレイライト MCP) |
| カスタム アサーション | 制限あり | 任意のPlaywright/Jestマッチャー |
| サポートされるアプリの種類 | キャンバス、モデル駆動型 | キャンバス、モデル駆動型、カスタム ページ、Gen UX |
次のステップ
- 作業の開始 リポジトリを複製し、最初のテストを実行する
- 認証の概要 認証状態を取得して再利用する方法を理解する
- AI 支援テストの概要 AI を使用してテストを生成および修正する