アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
SharePoint デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
SharePoint 構築支援サービス
Power Appsでキャンバスアプリを作成した際、そのアプリが想定通り動作するかを確認するため、必ずテストを行うかと思います。
Power Apps キャンバスアプリにもテストを自動化するテストスタジオという機能がありますので、今回はその機能を紹介します。
テストスタジオを用いると、一連の処理の流れを保存しておくことができますので、 例えば機能やUIが追加された際に、今までの処理にエラーが発生していないか継続的に確認することが可能となります。
Power Appsのキャンバスアプリを構築している方に向けた内容となっています。
弊社はPower Platform(Power Apps・Power Automate)に関するアプリ開発や、 皆様が内製化を行う際の支援サービスを提供しておりますので、Power Platformに関する内容でお悩みがある場合は、 以下URLからぜひお問い合わせください。
テストスタジオの基本知識について
本ブログでは、テストスタジオを使用する上で必要な基礎知識を紹介します。
テストスタジオのDocsについては、以下を御覧ください。
テストスタジオで使われる固有名詞
- テストスイート
- テストケース
- ステップ
テストケースの集まり。
複数のテストケースを1回で実行することも可能。
一連のテストの流れ。
複数のステップにより構成される。
テストケース内で実行する各アクション。
図にすれば把握しやすいですが、テストスイートの中に複数のテストケースを設定することが可能であり、 更にテストケースの中に複数のステップを設定することが可能となります。
また、実際にアプリの操作や確認を行うのはステップであり、ステップの中にボタンのクリック処理や確認関数(Assert関数)を設定します。
※Assert関数については後ほど説明します。
ステップで使用するアクション
ステップ内では、Power Appsで使用できるアクションは基本的に使用可能です。
上記に加え、テストでよく使われる以下のアクションについては事前に用意されています。
- Assert
- SetProperty
- Select
- Trace
結果のチェックを行う際に使用するアクションです。(テストを行う際に最も重要なアクションだと思います。)
Assert()という構文ですが、()内には予想される正常な結果を記載します。
正常な結果が得られなかった場合にはエラーとなり、そのテストケース内の処理は終了します。 その後、次のテストケースを実行します。
例:Assert(DataCardValue_申請者.Selected.DisplayName = User().FullName)
上記は、DataCardValue_申請の選択された値がログインユーザーとなっているのが正常な結果
詳細については、以下URLをご参照ください。
※本アクションはテストスタジオのみで使用可能です。
プロパティに値を設定する際に使用するアクションです。
具体的には、入力フォームに値を入力・コントローラーのプロパティを変更する場合などが該当します。
例:SetProperty(TextInput.Text, “これはテストです”)
上記は、TextInputに「これはテストです」と値を入力する処理を表します。
例:SetProperty(Toggle.Value, false)
上記は、Toggleの値をfalseに設定する処理を表します。
詳細については、以下URLをご参照ください。
※本アクションはテストスタジオのみで使用可能です。
ボタンをクリックする際に使用するアクションです。(実際は、ボタンコントローラーのOnSelectプロパティを実行します。)
例:Select(Button)
上記は、Buttonをクリックする処理を表します。
詳細については、以下URLをご参照ください。
※本アクションは通常のPower Appsとテストスタジオ両方で使用可能です。
値を出力する際に使用するアクションです。
例:Trace(variable)
上記は、variable変数の値を出力処理を表します。
※注意※
テーブルやレコードの出力はできませんのでご注意ください。
上記の出力を行いたい場合には、ForAll関数を用いて各値を個別に出力することをご検討ください。
イメージとしては以下です。
ForAll(colSample,
Trace(ThisRecord.Name),
Trace(ThisRecord.Number)
)
詳細については、以下URLをご参照ください。
※本アクションは通常のPower Appsとテストスタジオ両方で使用可能です。
テストスタジオで使われるプロパティ
テストスタジオでは、以下3つの特別なプロパティがあります。
- OnTestCaseStart
- 各テストケース開始時には、初期画面からスタートしたい(Navigate関数を記載しておく)
- 各テストケース開始時には、変数の初期化したい(Set・ClearCollect関数を記載しておく)
- OnTestCaseComplet
- 各テストケースの結果をメールしたい(Office365.SendMailV2関数を記載しておく)
- 各テストケースの結果をDBに格納したい(Patch関数を記載しておく)
- OnTextSuiteComplete
テストケースが開始される前に実行されます。
※テストスイート内のすべてのテストケースが始まる際に、都度実行されます。
本プロパティを用いると、すべてのケースで最初に行う操作を統一することが可能となります。
以下のような場合に本プロパティを用いると良いと思います。
詳細については、以下URLからご確認ください。
テストケースが完了した際に実行されます。
※テストスイート内のすべてのテストケースが終了際に、都度実行されます。
以下のような場合に本プロパティを用いると良いと思います。
テストスイートが完了した際に実行されます。
本プロパティの使い所としては、OnTestCaseCompleteと同様の内容です。
テストスタジオで使われる変数
テストスタジオでは、以下の特別なレコードが用意されています。
- TestCaseInfo
- TestCaseName: テストケースの名前
- StartTime: テストケースの実行開始時刻
- EndTime: テストケースの実行終了時刻
- Trace: アサーション関数の結果、またはTrace関数の内容
- Success: テストケースが正常に完了したかどうか
- TestFailureMessage: テストケースが失敗した場合のエラーメッセージ
- TestCaseResult
- TestsPassed:テストスイートで正常に完了したテストケースの数
- TestsFailed:テストスイートで失敗したテストケースの数
対象のテストケースの結果が格納されたレコードです。
各テストケースが終了した際に使用できます。
以下の項目が含まれています。
上記は、一部の項目のみ掲載しています。
その他については、以下をご参照ください。
対象のテストスイートが終了した際に使用できるレコードです。
含まれる項目としてはTestCaseResultと似ていますが、以下の項目が追加で用意されています。
詳細については、以下をご参照ください。
おわりに
いかがでしょうか?
今回はテストスタジオの基本知識について紹介しました。
テストスタジオを用いると、一連の処理の流れを保存しておくことができますので、 機能やUIが追加された際に、今までの処理にエラーが発生していないか継続的に確認することが可能となりますので、ぜひご利用いただければと思います。
また、次回は実際にテストスタジオを用いてテストを行ってみたいと思います。 ぜひ御覧ください。
弊社ではお客様の業務を効率化するご支援を数多く承っております。
普段の業務の中で、「〇〇をもっと効率化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。
【こちらも合わせて読みたい】
小刀稱知哉
小刀稱知哉さんのブログ一覧はこちら大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
(最近はCopilot Studioについても勉強中)
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200/SC-100
こんにちは。アーティサン株式会社の小刀稱(ことね)です。