Debuggen mit dem EmulatorDebug with the Emulator

gilt für: SDK v4APPLIES TO: SDK v4

Bot Framework Emulator ist eine Desktopanwendung, mit der Botentwickler Bots lokal oder remote testen und debuggen können.Bot Framework Emulator is a desktop application that allows bot developers to test and debug bots, either locally or remotely. Mithilfe der Emulator können Sie mit Ihrem Bot chatten und die Nachrichten überprüfen, die Ihr Bot sendet und empfängt.Using the Emulator, you can chat with your bot and inspect the messages that your bot sends and receives. Der Emulator zeigt Nachrichten so an, wie sie in einer Webchat-Benutzeroberfläche angezeigt werden, und protokolliert JSON-Anforderungen und -Antworten, während Sie Nachrichten mit Ihrem Bot austauschen.The Emulator displays messages as they would appear in a web chat UI and logs JSON requests and responses as you exchange messages with your bot. Bevor Sie Ihren Bot in der Cloud bereitstellen, führen Sie ihn lokal aus, und testen Sie ihn mithilfe der Emulator.Before you deploy your bot to the cloud, run it locally and test it using the Emulator. Sie können Ihren Bot mithilfe des Emulator testen, auch wenn Sie ihn noch nicht mit Azure Bot Service erstellt oder für die Ausführung auf beliebigen Kanälen konfiguriert haben.You can test your bot using the Emulator even if you haven't yet created it with Azure Bot Service or configured it to run on any channels.

VoraussetzungenPrerequisites

Lokales Ausführen eines BotsRun a bot locally

Bevor Sie Ihren Bot mit dem Bot Framework Emulator verbinden, müssen Sie ihn lokal ausführen.Before connecting your bot to the Bot Framework Emulator, you need to run your bot locally. Sie können Visual Studio oder Visual Studio Code oder die Befehlszeile verwenden, um Ihren Bot auszuführen.You can use Visual Studio or Visual Studio Code to run your bot, or use command line. Gehen Sie wie folgt vor, um einen Bot über die Befehlszeile auszuführen:To run a bot using command line, do the following:

  • Wechseln Sie zur Eingabeaufforderung und dann zum Verzeichnis Ihres Botprojekts.Go to the command prompt and change directory to your bot project directory.

  • Starten Sie den Bot, indem Sie den folgenden Befehl ausführen:Start the bot by running the following command:

    dotnet run
    
  • Kopieren Sie die Portnummer in der Zeile vor Application started. Press CTRL+C to shut down. (Anwendung gestartet. Drücken Sie zum Herunterfahren STRG+C.).Copy the port number in the line before Application started. Press CTRL+C to shut down.

    C#-Portnummer

Ihr Bot sollte jetzt lokal ausgeführt werden.At this point, your bot should be running locally.

Verbinden mit auf Localhost ausgeführten BotsConnect to a bot running on localhost

Konfigurieren von ProxyeinstellungenConfigure proxy settings

Wenn Sie hinter einem Unternehmensproxy entwickeln, verwendet der Emulator die konfigurierten HTTP_PROXY Umgebungsvariablen und , die die HTTPS_PROXY Proxy-URL-Route für HTTP- bzw. HTTPs-Anforderungen angeben.When you are developing behind a corporate proxy, the Emulator will use the configured environment variables HTTP_PROXY and HTTPS_PROXY, which specify the proxy URL route for HTTP and HTTPs requests respectively.

Wenn Sie eine Verbindung mit einem Bot herstellen, der unter ausgeführt localhost wird, versucht der Emulator zunächst, über den Proxy weiterzuleiten, bevor eine Verbindung mit hergestellt localhost wird.If you are connecting to a bot running on localhost, the Emulator will first try to route through the proxy before connecting to localhost. In der Regel blockiert der Proxy die Verbindung, es sei denn, Sie geben an, dass sie für umgangen werden localhost soll.Typically, the proxy will block the connection unless you specify that it should be bypassed for localhost.

Um die Einstellungen und zu umgehen HTTP_PROXY und dem Emulator das Herstellen einer Verbindung mit zu HTTPS_PROXY localhost ermöglichen, müssen Sie auf Ihrem lokalen Computer die folgende Umgebungsvariable definieren:In order to bypass the HTTP_PROXY and HTTPS_PROXY settings and allow the Emulator to connect to localhost, on your local machine you must define the following environment variable :

NO_PROXY=localhost

Konfigurieren der Emulator für die AuthentifizierungConfigure the Emulator for authentication

Wenn ein Bot eine Authentifizierung erfordert und ein Anmeldedialogfeld angezeigt wird, müssen Sie die Emulator wie unten dargestellt konfigurieren.If a bot requires authentication, displaying a login dialog, you must configure the Emulator as shown below.

Verwenden eines AnmeldeprüfcodesUsing sign-in verification code

  1. Starten Sie den Emulator.Start the Emulator.
  2. Klicken Sie im Emulator unten links auf das Zahnradsymbol oder auf die Registerkarte Emulator Einstellungen oben rechts.In the Emulator, click the gear icon in the bottom left, or the Emulator Settings tab in the upper right.
  3. Aktivieren Sie das Kontrollkästchen Use a sign-in verification code for OAuthCards (Anmeldeprüfcode für OAuthCards verwenden).Check the box by Use a sign-in verification code for OAuthCards.
  4. Aktivieren Sie das Kontrollkästchen Bypass ngrok for local address (ngrok für lokale Adresse umgehen).Check the box by Bypass ngrok for local address
  5. Klicken Sie auf die Schaltfläche Speichern.Click the Save button.

Wenn Sie auf die vom Bot angezeigte Anmeldeschaltfläche klicken, wird ein Prüfcode generiert.When you click the login button displayed by the bot, a validation code will be generated. Sie geben den Code in das Boteingabe-Chatfeld ein, damit die Authentifizierung erfolgen kann.You'll enter the code in the bot input chat box for the authentication to take place. Danach können die zulässigen Vorgänge ausgeführt werden.After that you can perform the allowed operations.

Alternativ können Sie die unten beschriebenen Schritte ausführen.Alternatively, you can perform the steps described below.

Verwenden von AuthentifizierungstokenUsing authentication tokens

  1. Starten Sie den Emulator.Start the Emulator.
  2. Klicken Sie im Emulator unten links auf das Zahnradsymbol oder auf die Registerkarte Emulator Einstellungen oben rechts.In the Emulator, click the gear icon in the bottom left, or the Emulator Settings tab in the upper right.
  3. Aktivieren Sie das Kontrollkästchen Use version1.0 authentication tokens (Authentifizierungstoken der Version 1.0 verwenden).Check the box by Use version1.0 authentication tokens.
  4. Geben Sie den lokalen Pfad zum Tool ngrok ein.Enter the local path to the ngrok tool. Weitere Informationen zum Tool finden Sie unter ngrok.For more the tool information, see ngrok.
  5. Aktivieren Sie das Kontrollkästchen Run ngrok when the Emulator starts up (ngrok bei Emulatorstart ausführen).Check the box by Run ngrok when the Emulator starts up.
  6. Klicken Sie auf die Schaltfläche Speichern.Click the Save button.

Wenn Sie auf die vom Bot angezeigte Anmeldeschaltfläche klicken, werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert.When you click the login button displayed by the bot, you will be asked to enter your credentials. Ein Authentifizierungstoken wird generiert.An authentication token is generated. Danach können die zulässigen Vorgänge ausgeführt werden.After that you can perform the allowed operations.

Emulator Startfenster

Wählen Sie Bot öffnen aus, um eine Verbindung mit einem lokal ausgeführten Bot herzustellen.To connect to a bot running locally, select Open bot. Fügen Sie die zuvor kopierte Portnummer der folgenden URL hinzu, und fügen Sie die aktualisierte URL in der Bot-URL-Leiste ein:Add the port number your copied earlier into the following URL and paste the updated URL in the Bot URL bar:

http://localhost:Portnummer/api/messageshttp://localhost:port number/api/messages

dialogfeld "open-a-bot" Emulator

Geben Sie auch die Anmeldeinformationen des Microsoft-Kontos ein, falls Ihr Bot damit ausgeführt wird.If your bot is running with Microsoft Account (MSA) credentials, enter these credentials too.

Verwenden von Bot-AnmeldeinformationenUse bot credentials

Wenn Sie den Bot öffnen, legen Sie die Microsoft-App-ID und das Microsoft-App-Kennwort fest, falls Ihr Bot mit Anmeldeinformationen ausgeführt wird.When you open the bot, set the Microsoft App ID and Microsoft App password if your bot is running with credentials. Wenn Sie Ihren Bot mit Azure Bot Service erstellt haben, sind die Anmeldeinformationen im App Service des Bot im Abschnitt Einstellungen -> Konfiguration verfügbar.If you created your bot with the Azure Bot Service, the credentials are available on the bot's App Service, under the Settings -> Configuration section. Wenn Sie die Werte nicht kennen, können Sie sie aus der Konfigurationsdatei des lokal ausgeführten Bots entfernen und den Bot dann im Emulator ausführen.If you do not know the values, you can remove those from the locally running bot's configuration file, then run the bot in the Emulator. Wenn der Bot nicht mit diesen Einstellungen ausgeführt wird, müssen Sie die Emulator auch nicht mit den Einstellungen ausführen.If the bot isn't running with these settings, you don't need to run the Emulator with the settings either.

Beachten Sie beim Erstellen einer AD-Identitätsanbieteranwendung Folgendes:When creating an AD identity provider application, remember the following:

  • Wenn die unterstützten Kontotypen auf einen einzelnen Mandanten festgelegt sind und Sie ein persönliches Abonnement anstelle eines Microsoft-Konto verwenden, gibt der Emulator den folgenden Fehler aus: Die Microsoft-App-ID oder das Microsoft-App-Kennwort des Bots ist falsch.When the supported account types is set to single tenant, if you use a personal subscription instead of a Microsoft account, the Emulator would issue the error: The bot's Microsoft App ID or Microsoft App Password is incorrect..
  • In diesem Fall muss für die unterstützten Kontotypen die Option Konten in allen Organisationsverzeichnissen (beliebiges Azure AD-Verzeichnis: mehrere Mandanten) und persönliche Microsoft-Konten (z. B. Xbox) ausgewählt werden.In this case, the supported account types must be set to Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Xbox).

Weitere Informationen finden Sie unter Erstellen einer Azure AD-Identitätsanbieteranwendung und Registrieren einer neuen Anwendung mithilfe des Azure-Portal.For more information, see Create an Azure AD identity provider application and Register a new application using the Azure portal.

Anzeigen detaillierter Nachrichtenaktivitäten im InspectorView detailed Message Activity with the Inspector

Senden Sie eine Nachricht an Ihren Bot. Der Bot sollte dann mit einer Antwort reagieren.Send a message to your bot and the bot should respond back. Sie können im Konversationsfenster auf eine Nachrichtenblase klicken und die unformatierte JSON-Aktivität mit der Funktion INSPECTOR rechts neben dem Fenster überprüfen.You can click on the message bubble within the conversation window and inspect the raw JSON activity using the INSPECTOR feature to the right side of the window. Bei Auswahl wird die Nachrichtenblase gelb und das JSON-Aktivitätsobjekt wird links neben dem Chatfenster angezeigt.When selected, the message bubble will turn yellow and the activity JSON object will be displayed to the left of the chat window. Die JSON-Informationen enthalten wichtige Metadaten z. B. Kanal-ID, Aktivitätstyp, Konversations-ID, Textnachricht, Endpunkt-URL usw.The JSON information includes key metadata, including the channel ID, activity type, conversation ID, the text message, endpoint URL, and so on. Sie können die vom Benutzer gesendeten Aktivitäten sowie die Reaktionen des Bots einsehen.You can inspect activities sent from the user, as well as activities the bot responds with.

Nachrichtenaktivität im Emulator

Tipp

Sie können Zustandsänderungen für einen mit einem Kanal verbundenen Bot debuggen, indem Sie ihm Middleware zur Überprüfung hinzufügen.You can debug state changes in a bot connected to a channel by adding Inspection Middleware to the bot.

Dienste überprüfenInspect services

Mit der v4-Emulator können Sie auch die JSON-Antworten von LUIS und QnA überprüfen.With the v4 Emulator you can also inspect the JSON responses from LUIS and QnA. Wenn Sie einen Bot mit einem verbundenen Sprachdienst verwenden, können Sie im Protokollfenster (LOG) unten rechts trace auswählen.Using a bot with a connected language service, you can select trace in the LOG window to the bottom right. Dieses neue Tool bietet auch Funktionen zum Aktualisieren Ihrer Sprachdienste direkt über die Emulator.This new tool also provides features to update your language services directly from the Emulator.

LUIS-Prüfung

Bei einem verbundenen LUIS-Dienst gibt der Ablaufverfolgungslink Luis Trace (LUIS-Ablauf) an.With a connected LUIS service, you'll notice that the trace link specifies Luis Trace. Wenn Sie diese Option auswählen, sehen Sie die unverarbeitete Antwort Ihres LUIS-Dienstes, die die Absichten und Entitäten mit den angegebenen Bewertungen enthält.When selected, you'll see the raw response from your LUIS service, which includes intents, entities along with their specified scores. Sie haben auch die Möglichkeit, Absichten für Ihre Benutzeräußerungen erneut zuzuweisen.You also have the option to re-assign intents for your user utterances.

QnA Maker-Prüfung

Bei einem verbundenen QnA Maker-Dienst wird im Protokoll QnA Maker Trace (QnA Maker-Ablauf) angezeigt. Wenn Sie diese Option auswählen, können Sie eine Vorschau des Frage-Antwort-Paares dieser Aktivität zusammen mit einer Zuverlässigkeitsbewertung ansehen.With a connected QnA service, the log will display QnA Trace, and when selected you can preview the question and answer pair associated with that activity, along with a confidence score. Dann können Sie alternative Fragen für eine Antwort formulieren.From here, you can add alternative question phrasing for an answer.

Anmelden an AzureLogin to Azure

Sie können den Emulator verwenden, um sich an Ihrem Azure-Konto anzumelden.You can use Emulator to login in to your Azure account. Dies ist besonders hilfreich für Sie, wenn es um das Hinzufügen und Verwalten von Diensten geht, von denen Ihr Bot abhängig ist.This is particularly helpful for you to add and manage services your bot depends on. Melden Sie sich mit den folgenden Schritten bei Azure an:Log into Azure by following these steps:

  1. Klicken Sie auf Datei –> Anmelden mit Azure.Click on File -> Sign in with Azure

    Emulator anmelden mit Azure

  2. Klicken Sie auf dem Begrüßungsbildschirm auf Mit Ihrem Azure-Konto anmelden.On the welcome screen click on Sign in with your Azure account. Optional können Sie Emulator bei allen Anwendungsneustarts angemeldet Emulator lassen.You can optionally have Emulator keep you signed in across Emulator application restarts.

    Emulator Erfolgreiche Azure-Anmeldung

Deaktivieren der DatensammlungDisabling data collection

Wenn Sie sich dafür entscheiden, dass Sie für den Emulator das Erfassen von Nutzungsdaten nicht mehr zulassen möchten, können Sie die Datensammlung mit den folgenden Schritten leicht deaktivieren:If you decide that you no longer want to allow the Emulator to collect usage data, you can easily disable data collection by following these steps:

  1. Navigieren Sie zur Einstellungsseite des Emulators, indem Sie in der Navigationsleiste auf der linken Seite auf die Schaltfläche „Einstellungen“ (Zahnradsymbol) klicken.Navigate to the Emulator's settings page by clicking on the Settings button (gear icon) in the nav bar on the left side.

    Emulator Schaltfläche "Einstellungen"

  2. Deaktivieren Sie im Abschnitt Datensammlung das Kontrollkästchen mit der Bezeichnung Help improve the Emulator by allowing us to collect usage data (Zur Verbesserung des Emulators beitragen, indem die Erfassung von Nutzungsdaten zugelassen wird).Uncheck the checkbox labeled Help improve the Emulator by allowing us to collect usage data under the Data Collection section.

    Emulator, Datensammlung

  3. Klicken Sie auf die Schaltfläche „Speichern“.Click the "Save" button.

    Emulator, Schaltfläche "Speichern"

Falls Sie Ihre Meinung ändern, können Sie diese Option jederzeit wieder aktivieren, indem Sie das Kontrollkästchen aktivieren.If you change your mind, you can always enable it by re-checking the checkbox.

Zusätzliche RessourcenAdditional resources

Der Bot Framework-Emulator ist eine Open Source-Ressource.The Bot Framework Emulator is open source. Sie können zur Entwicklung beitragen sowie Fehler melden und Vorschläge einbringen.You can contribute to the development and submit bugs and suggestions.

Informationen zur Problembehandlung finden Sie unter Behandeln allgemeiner Probleme und in den anderen Artikeln zur Problembehandlung in diesem Abschnitt.For troubleshooting, see troubleshoot general problems and the other troubleshooting articles in that section.

Nächste SchritteNext steps

Verwenden Sie die Middleware zur Überprüfung, um einen mit einem Kanal verbundenen Bot zu debuggen.Use inspection middleware to debug a bot connected to a channel.