技術情報ブログ
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が追加された際に、今までの処理にエラーが発生していないか継続的に確認することが可能となりますので、ぜひご利用いただければと思います。

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

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

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

この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Microsoftクラウド関連

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

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

2026.03.25

SharePointの便利なURLパラメータ活用術|ヘッダー削除・リスト絞り込み・メンテナンスモード

2026.03.18

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう

2026.03.03

Dataverse入門(5)!モデル駆動型アプリの作り方-キャンバスアプリとの違いは?

SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVPDataverse テーブルExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援部署Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方リレーションシップC#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリット1対多attributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツ多対多validationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上ER図ローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方入門編AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性1行テキストAccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職複数行テキストInfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーション選択肢MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策日付Angular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用整数データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やすデータ型モデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限管理Power AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegation注文管理アプリPower PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援サブグリッド
PageTop
ページトップに戻る