Power Apps Test Engine YAML 形式 (プレビュー)

[このトピックはプレリリース ドキュメントであり、変更されることがあります。]

テストは、Power Fx と同じガイドラインに従って YAML で定義されます。 Power Fx YAML 式の文法に関する詳細を確認する

PowerApps-TestEngine/samples フォルダーから詳細な例を確認できます。

YAML スキーマ定義

Property Description
testSuite 1 つのテスト スイート、テスト スイート内のテスト ケース、およびテスト スイートに固有の構成を定義します
testSettings 複数のテスト ケースで再利用されるテスト スイートの設定を定義します
environmentVariables アプリを異なる環境にポートするときに変更される可能性がある変数を定義します

testSuite

1 つのテストを定義するために使用されます。

YAML スキーマ定義をテストする

Property Required Description
testSuiteName はい テスト スイートの名前
testSuiteDescription いいえ テスト スイートの機能を説明する追加情報です
persona はい テストを実行するためにログインしているユーザー。 ユーザー セクションにリストされているペルソナと一致する必要があります
appLogicalName はい 起動されるアプリの論理名。 ソリューションから取得できます。 キャンバス アプリの場合、論理名を取得するにはソリューションに追加する必要があります
appId いいえ 起動されるアプリの ID。 必須であり、アプリの論理名が存在しない場合にのみ使用されます。 アプリ ID は、ソリューションに含まれていないキャンバス アプリにのみ使用する必要があります
networkRequestMocks いいえ テストに必要なネットワーク要求モックを定義します
testCases はい テスト スイートのテスト ケースを定義します。 テスト スイートに含まれるテスト ケースは、順番に実行されます。 アプリの状態は、スイート内のすべてのテスト ケースにわたって保持されます
onTestCaseStart いいえ ケースの実行が開始される前に、スイート内のすべてのテスト ケースに対してトリガーされる必要がある手順を定義します
onTestCaseComplete いいえ ケースの実行が終了したら、スイート内のすべてのテスト ケースに対してトリガーされる必要がある手順を定義します
onTestSuiteComplete いいえ ケースの実行が終了したら、トリガーされる必要がある手順を定義します

NetworkRequestMocks をテストする

Property Required Description
requestURL はい モック応答を取得する要求 URL。 Glob パターンが受け入れられます
responseDataFile はい モック応答コンテンツを含むテキスト ファイル。 このファイル内のすべてのテキストが応答として読み取られます
method いいえ 要求のメソッド (GET、POST、etc.)
headers いいえ [fieldName: fieldValue] 形式の要求内のヘッダー フィールドのリスト
requestBodyFile いいえ 要求本文を含むテキスト ファイル。 このファイル内のすべてのテキストが要求本文として読み取られます

オプションのプロパティでは、値が指定されていない場合、ルーティングはすべてに適用されます。 たとえば、method が null 値の場合、他のプロパティがすべて一致する限り、メソッドが何であってもモック応答を返します。

Sharepoint/Dataverse/Connector アプリの場合、requestURLmethod はすべての要求で同じにすることができます。 その場合、異なる要求を識別するために、ヘッダー内の x-ms-request-methodx-ms-request-url を構成する必要がある場合があります。

TestCases のテスト

Property Required Description
testCaseName はい 成功と失敗に関するレポートに使用されるテスト ケースの名前
testCaseDescription いいえ テスト ケースの機能を説明する追加情報です
testSteps はい テスト ケースを実行するために必要な手順を説明する一連の Power Fx 関数

TestSteps をテストする

  • これは、既存の Test Engine Power Fx 関数、またはこのフレームワークに定義された 特定のテスト関数 を使用できます。
  • = サインが後に続く複数行の YAML 式で Power Fx の式を示すには、| で始まる必要があります
  • 関数は、; で区切られる必要があります
  • コメントを使用でき、// で始める必要があります

testSettings

テスト プランでテストの設定を定義するために使用されます。

testSettings YAML スキーマ定義

Property Required Description
locale はい テスト ケースまたはテスト手順が記述されるロケール/カルチャ構文。 詳細については、Microsoft Power Fx でサポートされているグローバル サポート を参照してください。 指定しない場合、テスト手順を解析するためのロケールとして、CultureInfo.CurrentCulture が既定で使用されます。
browserConfigurations はい テストするブラウザー構成のリスト。 少なくとも 1 つのブラウザーが指定されている必要があります。
recordVideo いいえ 既定値は False です。 true に設定すると、テストのビデオ録画がキャプチャされます。
headless いいえ 既定値は True です。 false に設定すると、テストの実行中にブラウザーが表示されます。
timeout いいえ ミリ秒のタイムアウト値。 既定では 30,000 ミリ秒です (30s)。 いずれかの操作にタイムアウト制限を超える時間がかかると、テストは失敗となり終了します。
filePath いいえ すべてのテスト設定を含む別の YAMLファイルへのファイル パス。 指定すると、テスト プラン内のすべてのテスト設定が オーバーライド されます。

testSettings ブラウザー構成

Property Required Description
browser はい テスト時に起動するブラウザー。 Playwright がサポートするブラウザー と一致する必要があります。
device いいえ ブラウザーの起動時にエミュレートするデバイス。 Playwright がサポートするデバイス と一致する必要があります
screenHeight いいえ ブラウザー起動時に使用する画面の高さ。 指定する場合は、screenWidth も指定する必要があります。
screenWidth いいえ ブラウザー起動時に使用する画面の幅。 指定する場合は、screenHeight も指定する必要があります。

Users

資格情報が安全な方法で保存されることを保証するために、テスト定義ではペルソナ名を使用してユーザーを参照します。 テスト プラン ファイルへの資格情報の保存はサポートされていません。

ユーザー資格情報への参照は、users リストとして environmentVariables セクションの下にあります

例:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
          passwordKey: "user1Password"
        - personaName: "User2"
          emailKey: "user2Email"
          passwordKey: "user2Password"

personaName は、テストを実行するユーザーを示すテスト定義の一部として使用されます。

サポートされている資格情報の保存メカニズム

注意

多要素認証はサポートされていません。

環境変数

資格情報を環境変数として保存するには、次のように設定できます。

# <a name="in-powershell---replace-variablename-and-variablevalue-with-the-correct-values"></a>In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

YAML では、このユーザーの資格情報が環境変数に保存されていることを示すために、次の 2 つのプロパティを定義する必要があります。

  • emailKey: ユーザーのメールを保存するために使用される環境変数。
  • passwordKey: ユーザーのパスワードを保存するために使用される環境変数。

YAML の例:

    - personaName: "User1"
      emailKey: "user1Email"
      passwordKey: "user1Password"

YAML に基づいてユーザーの資格情報を設定する PowerShell の例:

$env:user1Email = "someone@example.com"
$env:user1Password = "fake password"

参照

Power Apps Test Engine の概要 (プレビュー)
Power Apps Test Engine Power Fx 機能 (プレビュー)

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。