Visual Studio 用 Teams アプリ テスト ツール

Teams アプリ テスト ツール (テスト ツール) を使用すると、ボットベースのアプリのデバッグが簡単になります。 ボットとチャットし、Microsoft Teamsに表示されるメッセージとアダプティブ カードを確認できます。 テスト ツールを使用するために、Microsoft 365 開発者アカウント、トンネリング、または Teams アプリとボットの登録は必要ありません。

次の図は、テスト ツールで応答を表示するサンプル アプリを示しています。

Teams アプリ テスト ツールアダプティブ カードを示すスクリーンショット。

テスト ツールの利点を次に示します。

  • サンドボックス環境: テスト ツールのサンドボックス環境は、Teams の動作、外観、ユーザー エクスペリエンスをエミュレートします。

  • トンネリング: ボットが通信できるローカル サーバーでテスト ツールが実行されるため、外部トンネル サービスは必要ありません。

  • アカウントの依存関係を減らす: Microsoft 365 Developer テナントとアプリのアップロードアクセス許可は、ボットをデバッグするために必要ありません。

  • 迅速な内部ループイテレーション: ボットをクラウドに再デプロイすることなく、アプリの設計とボット ロジックに変更を加えるプロセスを最適化します。

  • モック データとアクティビティ: テスト ツールを使用すると、新しいメンバーがチャネルに参加したときにウェルカム メッセージを送信し、モック データとアクティビティ トリガーを使用するなど、複雑なシナリオを簡単にテストできます。

  • Reliable: テスト ツールは、ボットのアダプティブ カードが Teams と同じレンダリング テクノロジを利用する場合に信頼性が高いです。

  • 既存の Teams ボット アプリケーションとの統合: テスト ツールは、Bot Framework SDK で構築された既存の Teams ボット アプリケーションと簡単に統合できます。

  • さまざまなスコープのサポート: テスト ツールでは、個人用、チーム、グループのチャット スコープでのテストがサポートされています。

前提条件

テスト ツールでボットをビルドしてデプロイするための次のツールを必ずインストールしてください。

インストール 使用するには...
Node.js バックエンド JavaScript ランタイム環境。
Visual Studio 2022
Visual Studio 2022 でエンタープライズ バージョンをインストールし、ASP.NET および Web 開発ワークロードをインストールできます。 バージョン 17.9 以降を使用します。

Visual Studio でのテスト ツール エクスペリエンス

テスト ツールでは、Teams クライアントと比較して、ボット アプリケーションのデバッグ エクスペリエンスが高速になります。 テスト ツールでは、すべてのボット アプリ機能がサポートされます。 このシナリオでは、 AI チャット ボット を例として使用しています。 テスト ツールでボットをデバッグするには、次の手順に従います。

  1. Visual Studio を開きます。

  2. [ 新しいプロジェクトの作成] を選択します

    新しいプロジェクトを作成するための選択を示すスクリーンショット。

  3. 検索ボックスに「Microsoft Teams」 入力します。 検索結果から、[ アプリMicrosoft Teams選択します

  4. [次へ] を選択します。

    新しいプロジェクトを作成するテンプレートの選択を示すスクリーンショット。

  5. 「プロジェクト名」と入力し、[作成] を選択します。

    プロジェクト名を入力するオプションを示すスクリーンショット。

  6. [ AI チャット ボット>作成] を選択します。

    注:

    • OpenAI または Azure OpenAI は、 AI チャット ボット アプリをデバッグするための前提条件です。

    新しいプロジェクトを作成するための Teams アプリケーションの選択を示すスクリーンショット。

    [GettingStarted] ウィンドウが表示されます。

    Visual Studio のアプリケーションの [作業の開始] ページを示すスクリーンショット。

  7. appsettings.TestTool.json ファイルは、いくつかのパラメーターを更新してテスト ツールを構成するのに役立ちます。 appsettings.TestTool.jsonファイルを更新するには、OpenAI または Azure OpenAI の手順に従います。

    appsettings.TestTool.json ファイル内の OpenAI ApiKeyを更新します。

    更新された OpenAI キーを示すスクリーンショット。

  8. [デバッグ] ドロップダウン リストで、[ Teams アプリ テスト ツール (ブラウザー)] を選択します。

    ドロップダウン リストから Teams アプリ テスト ツールを選択するオプションを示すスクリーンショット。

    テスト ツールは、Web ページでボットを開きます。

    ボットが Web ページでテスト ツールを開くのを示すスクリーンショット。

アクティビティ トリガー

アクティビティ トリガーを使用して、テスト ツールでアクティビティをモックできます。 アクティビティ トリガーには、次の 2 種類があります。

定義済みのアクティビティ トリガー

テスト ツールには、ボットの機能をテストするための定義済みのアクティビティ トリガーが用意されています。

カテゴリ アクティビティ ハンドラー
インストール更新アクティビティをトリガーする ボットをインストールする


ボットをアンインストールする
onInstallationUpdate
onInstallationUpdateAdded

onInstallationUpdate
onInstallationUpdateRemove
会話更新アクティビティをトリガーする Add user

ボットを追加

チャネルの追加
onMembersAdded

onTeamsMembersAddedEvent

onTeamsChannelRenamedEvent
ユーザーを削除する


ボットを削除する


チャネルを削除

チームを削除する
onMembersRemoved
onTeamsMembersRemovedEvent

onMembersRemoved
onTeamsMembersRemovedEvent

onTeamsChannelDeletedEvent

onTeamsTeamDeletedEvent
チャネルの名前を変更する

チームの名前を変更する
onTeamsChannelRenamedEvent

onTeamsTeamRenamedEvent

注:

すべての種類のアクティビティは、すべてのスコープで使用できるわけではありません。 たとえば、個人用チャットやグループ チャットでチャネルを追加または削除することはできません。

定義済みのアクティビティ トリガーは、テスト ツールの [ アクティビティのモック ] メニューで使用できます。 このシナリオでは、例として [ユーザー アクティビティ トリガーの 追加] を使用しています。 ユーザーの追加アクティビティをモックするには、次の手順に従います。

  1. Visual Studio Code で、[ ソリューション エクスプローラー] に移動します。

  2. Program.cs ファイルを選択します。

  3. Program.cs ファイルの [builder.Services.AddTransient<IBot>(sp =>] で、次のコードを追加します。

    app.OnConversationUpdate("membersAdded", async (context, state, cancellationToken) =>
    {
       await context.SendActivityAsync($"new member added", cancellationToken: cancellationToken);
    });
    

    OnConversationUpdate ハンドラーは、ユーザーの追加アクティビティで説明されているように、会話に参加するメンバーを認識します。

    定義済みのモック アクティビティの追加ユーザーのprogram.cs ファイルに追加されたコードを示すスクリーンショット。

  4. テスト ツールで、[ アクティビティのモック] に移動し、[ ユーザーの追加] を選択します。

    [モック] アクティビティの下の [ユーザーの追加] オプションを示すスクリーンショット。

    アクティビティ ハンドラーをプレビューするためのポップアップ ダイアログが表示されます。

  5. [ アクティビティの送信] を選択します

    定義済みのモック アクティビティ追加ユーザーのアクティビティを送信するオプションを示すスクリーンショット。

    ボットが応答を送信します。

    定義済みのモック アクティビティの追加ユーザーの応答を示すスクリーンショット。

カスタム アクティビティ トリガー

カスタム アクティビティを使用して、ボット アプリの要件に合わせてアクティビティ トリガー reactionsAddedをカスタマイズできます。 テスト ツールは、アクティビティの必要なプロパティを自動的に設定します。 アクティビティの種類を変更し、 MembersAddedmembersremovedreactionsremovedなどのプロパティを追加することもできます。

  1. Visual Studio Code で、[ ソリューション エクスプローラー] に移動します。

  2. Program.cs ファイルを選択します。

  3. Program.cs ファイルの [builder.Services.AddTransient<IBot>(sp =>] で、次のコードを追加します。

    app.OnMessageReactionsAdded(async (context, state, cancellationToken) =>
    {
       await context.SendActivityAsync($"reaction added.", cancellationToken: cancellationToken);
    });
    

    OnMessageReactionsAdded ハンドラーは、前の会話の ReplyToId プロパティを使用して追加する反応を識別します。

    モック アクティビティのカスタマイズのためにprogram.cs ファイルに追加されたコードを示すスクリーンショット。

  4. テスト ツール Web ページに移動し、ログ パネルから最新の応答を選択して、 replyToIdをコピーします。

    モック アクティビティのカスタマイズのためにコピーする replyToID の選択を示すスクリーンショット。

  5. [ Mock an Activity>Custom アクティビティ] を選択します

    アクティビティのモックの下のオプションの一覧を示すスクリーンショット。

  6. アクティビティをカスタマイズするには、type プロパティの下にmessageReactionを追加します。

  7. を最新の replyToIdに置き換えます。

    {
      "type": "messageReaction",
      "reactionsAdded": [
        {
          "type": "like"
        }
      ],
      "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47"
    }
    
  8. [ アクティビティの送信] を選択します

    モック アクティビティのカスタマイズ後にアクティビティを送信するオプションを示すスクリーンショット。

    ボットは応答で onReactionsAdded ハンドラーを送信します。

    カスタム モック アクティビティの応答を示すスクリーンショット。

制限事項

  • テスト ツールでは処理されないため、アプリ マニフェストで有効になっているボット機能は使用できません。

  • テスト ツールでは、アダプティブ カードを除くすべての種類のカードがサポートされているわけではありません。

  • テスト ツールでは、次のアダプティブ カード機能はサポートされていません。

  • テスト ツールでは、次のエクスペリエンスはサポートされていません。

    • Mobile
    • 会議

関連項目