技術情報ブログ
Power Platform
2025.05.28

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(1) 基本知識編

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(1) 基本知識編
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Appsでキャンバスアプリを作成した際、そのアプリが想定通り動作するかを確認するため、必ずテストを行うかと思います。

Power Apps キャンバスアプリにもテストを自動化するテストスタジオという機能がありますので、今回はその機能を紹介します。

テストスタジオを用いると、一連の処理の流れを保存しておくことができますので、 例えば機能やUIが追加された際に、今までの処理にエラーが発生していないか継続的に確認することが可能となります。

Power Appsのキャンバスアプリを構築している方に向けた内容となっています。

弊社はPower Platform(Power Apps・Power Automate)に関するアプリ開発や、 皆様が内製化を行う際の支援サービスを提供しておりますので、Power Platformに関する内容でお悩みがある場合は、 以下URLからぜひお問い合わせください。

 

テストスタジオの基本知識について

本ブログでは、テストスタジオを使用する上で必要な基礎知識を紹介します。

テストスタジオのDocsについては、以下を御覧ください。

テスト スタジオ

 

テストスタジオで使われる固有名詞

  • テストスイート
  • テストケースの集まり。
    複数のテストケースを1回で実行することも可能。

  • テストケース
  • 一連のテストの流れ。
    複数のステップにより構成される。

  • ステップ
  • テストケース内で実行する各アクション。

図にすれば把握しやすいですが、テストスイートの中に複数のテストケースを設定することが可能であり、 更にテストケースの中に複数のステップを設定することが可能となります。

また、実際にアプリの操作や確認を行うのはステップであり、ステップの中にボタンのクリック処理や確認関数(Assert関数)を設定します。

※Assert関数については後ほど説明します。

テストスタジオで使われる固有名詞

ステップで使用するアクション

ステップ内では、Power Appsで使用できるアクションは基本的に使用可能です。
上記に加え、テストでよく使われる以下のアクションについては事前に用意されています。

ステップで使用するアクション
  • Assert
  • 結果のチェックを行う際に使用するアクションです。(テストを行う際に最も重要なアクションだと思います。)
    Assert()という構文ですが、()内には予想される正常な結果を記載します。

    正常な結果が得られなかった場合にはエラーとなり、そのテストケース内の処理は終了します。 その後、次のテストケースを実行します。

    結果のチェック


    例:Assert(DataCardValue_申請者.Selected.DisplayName = User().FullName)

    上記は、DataCardValue_申請の選択された値がログインユーザーとなっているのが正常な結果

    詳細については、以下URLをご参照ください。

    Assert 関数

    ※本アクションはテストスタジオのみで使用可能です。

  • SetProperty
  • プロパティに値を設定する際に使用するアクションです。
    具体的には、入力フォームに値を入力・コントローラーのプロパティを変更する場合などが該当します。

    例:SetProperty(TextInput.Text, “これはテストです”)
    上記は、TextInputに「これはテストです」と値を入力する処理を表します。


    例:SetProperty(Toggle.Value, false)
    上記は、Toggleの値をfalseに設定する処理を表します。

    詳細については、以下URLをご参照ください。

    SetProperty 関数

    ※本アクションはテストスタジオのみで使用可能です。

  • Select
  • ボタンをクリックする際に使用するアクションです。(実際は、ボタンコントローラーのOnSelectプロパティを実行します。)

    例:Select(Button)
    上記は、Buttonをクリックする処理を表します。

    詳細については、以下URLをご参照ください。

    Select 関数

    ※本アクションは通常のPower Appsとテストスタジオ両方で使用可能です。

  • Trace
  • 値を出力する際に使用するアクションです。

    例:Trace(variable)
    上記は、variable変数の値を出力処理を表します。

    ※注意※

    テーブルやレコードの出力はできませんのでご注意ください。

    上記の出力を行いたい場合には、ForAll関数を用いて各値を個別に出力することをご検討ください。

    イメージとしては以下です。

    ForAll(colSample,
        Trace(ThisRecord.Name),
        Trace(ThisRecord.Number)
    )

    詳細については、以下URLをご参照ください。

    Trace 関数

    ※本アクションは通常のPower Appsとテストスタジオ両方で使用可能です。

 

テストスタジオで使われるプロパティ

テストスタジオでは、以下3つの特別なプロパティがあります。

  • OnTestCaseStart
  • テストケースが開始される前に実行されます。

    ※テストスイート内のすべてのテストケースが始まる際に、都度実行されます。

    本プロパティを用いると、すべてのケースで最初に行う操作を統一することが可能となります。
    以下のような場合に本プロパティを用いると良いと思います。

    1. 各テストケース開始時には、初期画面からスタートしたい(Navigate関数を記載しておく)
    2. 各テストケース開始時には、変数の初期化したい(Set・ClearCollect関数を記載しておく)

    詳細については、以下URLからご確認ください。

    テストをセットアップする

  • OnTestCaseComplet
  • テストケースが完了した際に実行されます。

    ※テストスイート内のすべてのテストケースが終了際に、都度実行されます。

    以下のような場合に本プロパティを用いると良いと思います。

    1. 各テストケースの結果をメールしたい(Office365.SendMailV2関数を記載しておく)
    2. 各テストケースの結果をDBに格納したい(Patch関数を記載しておく)
  • OnTextSuiteComplete
  • テストスイートが完了した際に実行されます。
    本プロパティの使い所としては、OnTestCaseCompleteと同様の内容です。

 

テストスタジオで使われる変数

テストスタジオでは、以下の特別なレコードが用意されています。

  • TestCaseInfo
  • 対象のテストケースの結果が格納されたレコードです。
    各テストケースが終了した際に使用できます。

    以下の項目が含まれています。

    • TestCaseName: テストケースの名前
    • StartTime: テストケースの実行開始時刻
    • EndTime: テストケースの実行終了時刻
    • Trace: アサーション関数の結果、またはTrace関数の内容
    • Success: テストケースが正常に完了したかどうか
    • TestFailureMessage: テストケースが失敗した場合のエラーメッセージ

    上記は、一部の項目のみ掲載しています。
    その他については、以下をご参照ください。

    テストをセットアップする

  • TestCaseResult
  • 対象のテストスイートが終了した際に使用できるレコードです。

    含まれる項目としてはTestCaseResultと似ていますが、以下の項目が追加で用意されています。

    1. TestsPassed:テストスイートで正常に完了したテストケースの数
    2. TestsFailed:テストスイートで失敗したテストケースの数

    詳細については、以下をご参照ください。

    テスト結果の処理

 

おわりに

いかがでしょうか?

今回はテストスタジオの基本知識について紹介しました。

テストスタジオを用いると、一連の処理の流れを保存しておくことができますので、 機能やUIが追加された際に、今までの処理にエラーが発生していないか継続的に確認することが可能となりますので、ぜひご利用いただければと思います。

また、次回は実際にテストスタジオを用いてテストを行ってみたいと思います。 ぜひ御覧ください。

弊社ではお客様の業務を効率化するご支援を数多く承っております。

普段の業務の中で、「〇〇をもっと効率化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

小刀稱知哉さんのブログ一覧はこちら

大分県出身(温泉大好き)、現在は東京都在住

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

シェアする
記事カテゴリ
最新記事
2025.05.28

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(1) 基本知識編

2025.05.21

社員が毎日使いたくなる!SharePoint社内ポータルの作り方と成功のポイント

2025.05.20

【新機能紹介】SharePoint:サイトのブランド化ってなに?

2025.05.13

元自治体職員(地方公務員)がCopilot Studioを使って業務に役立つエージェント活用を考えてみた

2025.05.14

Copilot Studioは安全?機密情報漏洩のリスクを低減する方法

AccessCSSBreakpointObserverSet承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較InfoPathxUnitメディアクエリForAllform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータルMatTable.Net Core 3.1スマホUpdateContextエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアAngular MaterialVSCodePCロードマップインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントデータ構造.Net Core Test Explorerレスポンシブ技術カスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体モデル駆動型アプリSortByColumns関数Dataverse for Teams入門ItcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot StudiotPower AppsTypeScriptitem関数初心者情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXPower PlatformHTMLGoogle Maps中級者メッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体SharePointEF CoreMarker Clustererキャンバスアプリメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例ExcelマイグレーションRANK()関数DatePickerfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用Power AutomateFramework CoreDynamics 365 SalesDropdownnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化C#Attribute directivesMicrosoft Translatorview入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズattributeO/Rマッパーマーカークラスタリングライブラリビュー動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンターvalidationazure sql databasetailwindcssアクセス制限collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成ローコードCase式マルチテナント承認コレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張AngularHTTP Requestドロップダウンメニューリマインド複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide show
PageTop
ページトップに戻る