Visual Studio 用 Teams アプリ テスト ツール
Teams アプリ テスト ツール (テスト ツール) を使用すると、ボットベースのアプリのデバッグが簡単になります。 ボットとチャットし、Microsoft Teamsに表示されるメッセージとアダプティブ カードを確認できます。 テスト ツールを使用するために、Microsoft 365 開発者アカウント、トンネリング、または 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 チャット ボット を例として使用しています。 テスト ツールでボットをデバッグするには、次の手順に従います。
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
検索ボックスに「Microsoft Teams」 と入力します。 検索結果から、[ アプリMicrosoft Teams選択します。
[次へ] を選択します。
「プロジェクト名」と入力し、[作成] を選択します。
[ AI チャット ボット>作成] を選択します。
注:
- OpenAI または Azure OpenAI は、 AI チャット ボット アプリをデバッグするための前提条件です。
[GettingStarted] ウィンドウが表示されます。
appsettings.TestTool.json
ファイルは、いくつかのパラメーターを更新してテスト ツールを構成するのに役立ちます。appsettings.TestTool.json
ファイルを更新するには、OpenAI または Azure OpenAI の手順に従います。appsettings.TestTool.json
ファイル内の OpenAIApiKey
を更新します。[デバッグ] ドロップダウン リストで、[ Teams アプリ テスト ツール (ブラウザー)] を選択します。
テスト ツールは、Web ページでボットを開きます。
アクティビティ トリガー
アクティビティ トリガーを使用して、テスト ツールでアクティビティをモックできます。 アクティビティ トリガーには、次の 2 種類があります。
定義済みのアクティビティ トリガー
テスト ツールには、ボットの機能をテストするための定義済みのアクティビティ トリガーが用意されています。
カテゴリ | アクティビティ | ハンドラー |
---|---|---|
インストール更新アクティビティをトリガーする | ボットをインストールする ボットをアンインストールする |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
会話更新アクティビティをトリガーする | Add user ボットを追加 チャネルの追加 |
onMembersAdded onTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
ユーザーを削除する ボットを削除する チャネルを削除 チームを削除する |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
チャネルの名前を変更する チームの名前を変更する |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
注:
すべての種類のアクティビティは、すべてのスコープで使用できるわけではありません。 たとえば、個人用チャットやグループ チャットでチャネルを追加または削除することはできません。
定義済みのアクティビティ トリガーは、テスト ツールの [ アクティビティのモック ] メニューで使用できます。 このシナリオでは、例として [ユーザー アクティビティ トリガーの 追加] を使用しています。 ユーザーの追加アクティビティをモックするには、次の手順に従います。
Visual Studio Code で、[ ソリューション エクスプローラー] に移動します。
Program.cs ファイルを選択します。
Program.cs ファイルの [
builder.Services.AddTransient<IBot>(sp =>
] で、次のコードを追加します。app.OnConversationUpdate("membersAdded", async (context, state, cancellationToken) => { await context.SendActivityAsync($"new member added", cancellationToken: cancellationToken); });
OnConversationUpdate
ハンドラーは、ユーザーの追加アクティビティで説明されているように、会話に参加するメンバーを認識します。テスト ツールで、[ アクティビティのモック] に移動し、[ ユーザーの追加] を選択します。
アクティビティ ハンドラーをプレビューするためのポップアップ ダイアログが表示されます。
[ アクティビティの送信] を選択します。
ボットが応答を送信します。
カスタム アクティビティ トリガー
カスタム アクティビティを使用して、ボット アプリの要件に合わせてアクティビティ トリガー reactionsAdded
をカスタマイズできます。 テスト ツールは、アクティビティの必要なプロパティを自動的に設定します。 アクティビティの種類を変更し、 MembersAdded
、 membersremoved
、 reactionsremoved
などのプロパティを追加することもできます。
Visual Studio Code で、[ ソリューション エクスプローラー] に移動します。
Program.cs ファイルを選択します。
Program.cs ファイルの [
builder.Services.AddTransient<IBot>(sp =>
] で、次のコードを追加します。app.OnMessageReactionsAdded(async (context, state, cancellationToken) => { await context.SendActivityAsync($"reaction added.", cancellationToken: cancellationToken); });
OnMessageReactionsAdded
ハンドラーは、前の会話のReplyToId
プロパティを使用して追加する反応を識別します。テスト ツール Web ページに移動し、ログ パネルから最新の応答を選択して、
replyToId
をコピーします。[ Mock an Activity>Custom アクティビティ] を選択します。
アクティビティをカスタマイズするには、
type
プロパティの下にmessageReaction
を追加します。を最新の
replyToId
に置き換えます。{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }
[ アクティビティの送信] を選択します。
ボットは応答で
onReactionsAdded
ハンドラーを送信します。
制限事項
テスト ツールでは処理されないため、アプリ マニフェストで有効になっているボット機能は使用できません。
テスト ツールでは、アダプティブ カードを除くすべての種類のカードがサポートされているわけではありません。
テスト ツールでは、次のアダプティブ カード機能はサポートされていません。
テスト ツールでは、次のエクスペリエンスはサポートされていません。
- Mobile
- 会議
関連項目
Platform Docs