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 アプリの場合、requestURL
と method
はすべての要求で同じにすることができます。 その場合、異なる要求を識別するために、ヘッダー内の x-ms-request-method
と x-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 分かかります。 個人データは収集されません (プライバシー ステートメント)。