トランスクリプト ファイルを使用してボットをデバッグする

適用対象: SDK v4

ボットのテストとデバッグを成功させるうえで重要なポイントの 1 つが、ご自身のボットを実行するときに発生する一連の状況を記録し、調査できることです。 この記事では、ボット トランスクリプト ファイルを作成して使用し、テストおよびデバッグのために、一連の詳細なユーザー操作とボット応答を提供する方法について説明します。

ボット トランスクリプト ファイル

ボット トランスクリプト ファイルは、ユーザーとご自身のボットの間のやり取りが保持される特殊な JSON ファイルです。 トランスクリプト ファイルでは、メッセージの内容だけでなく、ユーザー ID、チャネル ID、チャネルの種類、チャネル機能、操作の時間などの相互作用の詳細も保持されます。 この情報はすべて、後でご自身のボットをテストまたはデバッグするときに使用して、問題の特定および解決に役立てることができます。

ボット トランスクリプト ファイルを作成/格納する

この記事では、Bot Framework Emulatorを使用してボット トランスクリプト ファイルを作成する方法について説明します。 トランスクリプト ファイルは、プログラムで作成することもできます。その方法の詳細については、 BLOB トランスクリプト ストレージ に関する記事を参照してください。 この記事では、ユーザーの輸送モード、名前、年齢を要求する複数ターン プロンプト ボットの Bot Framework サンプル コードを使用しますが、Microsoft のBot Framework Emulatorを使用してアクセスできるコードはトランスクリプト ファイルの作成に使用できます。

このプロセスを開始するには、テストするボット コードが開発環境内で実行されていることを確認します。

  1. エミュレーターを起動します。

  2. [ようこそ] タブで、[ボットを開く] を選択します。

  3. ボットがリッスンしているポートのアドレスを入力し、次 /api/messagesに例を http://localhost:3978/api/messages入力します。

    ボットが Microsoft アプリ ID とパスワードで構成されている場合は、[ ボットを開く ] ダイアログで ID とパスワードを入力します。 そうしないと、エミュレーターはボットに接続できなくなります。

  4. [ 接続 ] を選択してエミュレーターをボットに接続します。

    エミュレーターからボットに接続するためのダイアログのスクリーンショット。

エミュレーターでボットと対話してコードをテストします。 保存するすべてのユーザー操作を入力したら、Bot Framework Emulatorを使用して、この会話を含むトランスクリプト ファイルを作成して保存します。

  1. [ ライブ チャット ] タブで、[ トランスクリプトの保存] を選択します。

    エミュレーターの会話と [トランスクリプトの保存] ボタンのスクリーンショット。

  2. トランスクリプト ファイルの場所と名前を選択し、[ 保存] を選択します。

    [会話のトランスクリプトの保存] ダイアログのスクリーンショット。

エミュレーターでコードをテストするために入力したすべてのユーザー操作とボット応答がトランスクリプト ファイルに保存され、後で再読み込みして、ユーザーとボットの間の対話をデバッグできます。

ボット トランスクリプト ファイルを取得する

トランスクリプト ファイルを開くと、エミュレーターによって保存された会話が新しいタブに読み込まれます。

ボット トランスクリプト ファイルを取得するには:

  1. エミュレーターを開きます。
  2. メニューから[ ファイル ]、[ トランスクリプトを開く]の順に選択します。
  3. [トランスクリプト ファイルを開く] を使用して、取得するトランスクリプト ファイルを選択して開きます。

[トランスクリプト ファイルを開く] ダイアログのスクリーンショット。

トランスクリプト ファイルを使用してデバッグする

トランスクリプト ファイルが読み込まれたので、ユーザーとボットの間でキャプチャした対話をデバッグする準備ができました。

  1. エミュレーターの ログ ウィンドウに記録されている任意のユーザーまたはボット メッセージまたはアクティビティを選択します。

  2. エミュレーターでは、 インスペクター ウィンドウにアクティビティ情報が表示されます。 アクティビティ情報は、アクティビティの HTTP 要求のペイロードです。

    メッセージ アクティビティには、次のものが含まれます。

    • アクティビティの種類
    • チャネルからアクティビティが送信または受信された時刻
    • ユーザーのチャネルに関する情報
    • アクティビティfromrecipientの送信者と受信者に関する情報 (それぞれのフィールド)
    • メッセージ アクティビティのメッセージ テキストなど、アクティビティの種類に固有の情報。

この詳細なレベルの情報を使用すると、ユーザーの入力とボットの応答の間のステップ バイ ステップの相互作用に従うことができます。これは、ボットが予想した方法で応答しなかったか、ユーザーにまったく応答しなかった状況をデバッグするのに役立ちます。 これらの値と、失敗した相互作用に至るまでの手順の記録の両方を使用すると、コードをステップ実行し、ボットが予想どおりに応答しない場所を見つけて、それらの問題を解決できます。

ご自身のボットのコードとユーザー操作は、さまざまなツールを使ってテストおよびデバッグすることができます。トランスクリプト ファイルと Bot Framework Emulator の併用はその 1 つに過ぎません。

関連情報

テストとデバッグの詳細については、次を参照してください。