Testen und Debuggen mit dem Emulator

GILT FÜR: SDK v4

Bot Framework Emulator ist eine Desktopanwendung, mit der Botentwickler Bots entweder lokal oder remote testen und debuggen können. Über den Emulator können Sie mit Ihrem Bot chatten und die Nachrichten untersuchen, die Ihr Bot sendet und empfängt. Der Emulator zeigt Nachrichten so an wie in einer Webchat-Benutzeroberfläche und protokolliert JSON-Anforderungen und -Antworten, während Sie mit Ihrem Bot kommunizieren. Führen Sie Ihren Bot vor der Bereitstellung in der Cloud lokal aus, und testen Sie ihn mithilfe des Emulators. Sie können Ihren Bot mithilfe des Emulators testen, auch wenn Sie sie noch nicht mit Azure Bot Service erstellt oder für die Ausführung auf beliebigen Kanälen konfiguriert haben.

Voraussetzungen

Lokales Ausführen eines Bots

Bevor Sie Ihren Bot mit dem Bot Framework Emulator verbinden, müssen Sie ihn lokal ausführen. Sie können Visual Studio oder Visual Studio Code oder die Befehlszeile verwenden, um Ihren Bot auszuführen. Gehen Sie wie folgt vor, um einen Bot über die Befehlszeile auszuführen:

  • Wechseln Sie zur Eingabeaufforderung und dann zum Verzeichnis Ihres Botprojekts.

  • Starten Sie den Bot, indem Sie den folgenden Befehl ausführen:

    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.).

    C#-Portnummer

Ihr Bot sollte jetzt lokal ausgeführt werden.

Verbinden mit auf Localhost ausgeführten Bots

Konfigurieren von Proxyeinstellungen

Wenn Sie hinter einem Unternehmensproxy entwickeln, verwendet der Emulator die konfigurierten Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY, die die Proxy-URL-Route für HTTP- und HTTPs-Anforderungen angeben.

Wenn Sie eine Verbindung mit einem Bot herstellen, der auf localhostausgeführt wird, versucht der Emulator zunächst, den Proxy zu durchlaufen, bevor Sie eine Verbindung localhostherstellen. In der Regel blockiert der Proxy die Verbindung, es sei denn, sie sollte für localhost.

Um die Einstellungen zu umgehen und dem Emulator die Verbindung localhostzu ermöglichen, müssen Sie auf Ihrem lokalen Computer die HTTP_PROXYHTTPS_PROXY folgende Umgebungsvariable definieren:

NO_PROXY=localhost

Konfigurieren des Emulators für die Authentifizierung

Wenn ein Bot eine Authentifizierung erfordert, müssen Sie das Anmeldedialogfeld wie unten gezeigt konfigurieren.

Verwenden eines Anmeldeüberprüfungscodes

  1. Starten Sie den Emulator.
  2. Wählen Sie im Emulator einstellungen (das Zahnradsymbol) im linken Bereich aus.
  3. Aktivieren Sie ngrok für lokale Adressen.
  4. Aktivieren Sie einen Anmeldeüberprüfungscode für OAuthCards.
  5. Wählen Sie Speichern aus.

Wenn Sie die von dem Bot angezeigte Anmeldeschaltfläche auswählen, wird ein Validierungscode generiert. Sie geben den Code im Boteingabechatfeld für die Authentifizierung ein, die ausgeführt werden soll. Danach können die zulässigen Vorgänge ausgeführt werden.

Alternativ können Sie die unten beschriebenen Schritte ausführen.

Verwenden von Authentifizierungstoken

  1. Starten Sie den Emulator.
  2. Wählen Sie im Emulator einstellungen (das Zahnradsymbol) im linken Bereich aus.
  3. Geben Sie den lokalen Pfad zu ngrok ein. Weitere Informationen zu ngrok finden Sie unter ngrok.
  4. Aktivieren Sie "Run ngrok", wenn der Emulator gestartet wird.
  5. Aktivieren Sie Die Verwendung von Version 1.0-Authentifizierungstoken.
  6. Wählen Sie Speichern aus.

Wenn Sie die von dem Bot angezeigte Anmeldeschaltfläche auswählen, werden Sie aufgefordert, Ihre Anmeldeinformationen einzugeben. Ein Authentifizierungstoken wird generiert. Danach können die zulässigen Vorgänge ausgeführt werden.

Emulator-Startfenster

Um eine Verbindung mit einem Bot herzustellen, der lokal ausgeführt wird, wählen Sie " Bot öffnen" aus. Fügen Sie die zuvor kopierte Portnummer der folgenden URL hinzu, und fügen Sie die aktualisierte URL in der Bot-URL-Leiste ein:

http://localhost:<port number>/api/messages

Dialogfeld

Geben Sie auch die Anmeldeinformationen des Microsoft-Kontos ein, falls Ihr Bot damit ausgeführt wird.

Verwenden von Bot-Anmeldeinformationen

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. Wenn Sie Ihren Bot mit dem Azure-Bot Service erstellt haben, stehen die Anmeldeinformationen im App Service des Bots unter dem Abschnitt "Einstellungen -> Konfiguration" zur Verfügung. 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. Wenn der Bot nicht mit diesen Einstellungen ausgeführt wird, müssen Sie den Emulator nicht mit den Einstellungen ausführen.

Beachten Sie beim Erstellen einer AD-Identitätsanbieteranwendung Folgendes:

  • Wenn die unterstützten Kontotypen auf einen einzelnen Mandanten festgelegt sind, wenn Sie ein persönliches Abonnement anstelle eines Microsoft-Kontos verwenden, würde der Emulator den Fehler beheben: Die Microsoft App-ID des Bots oder das Microsoft App-Kennwort ist falsch.
  • 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.

Weitere Informationen finden Sie unter Erstellen einer Azure AD-Identitätsanbieteranwendung und Registrieren einer neuen Anwendung mithilfe der Azure-Portal.

Detaillierte Nachrichtenaktivitäten mit dem Inspektor anzeigen

Senden Sie eine Nachricht an Ihren Bot. Der Bot sollte dann mit einer Antwort reagieren. Sie können im Konversationsfenster eine Nachrichtenblase auswählen und die unformatierte JSON-Aktivität mit der Funktion INSPECTOR rechts neben dem Fenster überprüfen. Bei Auswahl wird die Nachrichtenblase gelb und das JSON-Aktivitätsobjekt wird links neben dem Chatfenster angezeigt. Die JSON-Informationen enthalten wichtige Metadaten z. B. Kanal-ID, Aktivitätstyp, Konversations-ID, Textnachricht, Endpunkt-URL usw. Sie können die vom Benutzer gesendeten Aktivitäten sowie die Reaktionen des Bots einsehen.

EMULATOR-Nachrichtenaktivität JSON

Tipp

Sie können Zustandsänderungen für einen mit einem Kanal verbundenen Bot debuggen, indem Sie ihm Middleware zur Überprüfung hinzufügen.

Dienste überprüfen

Hinweis

Azure QnA Maker wird am 31. März 2025 eingestellt. Ab 1. Oktober 2022 können Sie keine neuen QnA Maker-Ressourcen oder Wissensdatenbanken erstellen. Eine neuere Version der Frage- und Antwortfunktion ist jetzt als Teil des Azure Cognitive Service für Language verfügbar.

Benutzerdefinierte Frageantwort, ein Feature von Azure Cognitive Service for Language, ist die aktualisierte Version des QnA Maker-Diensts. Weitere Informationen zur Unterstützung von Fragen und Antworten im Bot Framework SDK finden Sie unter " Natürliches Sprachverständnis".

Mit dem v4-Emulator können Sie auch die JSON-Antworten von LUIS und QnA Maker überprüfen. Wenn Sie einen Bot mit einem verbundenen Sprachdienst verwenden, können Sie im Protokollfenster (LOG) unten rechts trace auswählen. Dieses neue Tool bietet auch Features zum Aktualisieren Ihrer Sprachdienste direkt vom Emulator.

LUIS-Prüfung

Bei einem verbundenen LUIS-Dienst gibt der Ablaufverfolgungslink Luis Trace (LUIS-Ablauf) an. 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. Sie haben auch die Möglichkeit, Absichten für Ihre Benutzeräußerungen erneut zuzuweisen.

QnA Maker-Prüfung

Mit einem verbundenen QnA Maker-Dienst zeigt das Protokoll QnA-Ablaufverfolgung an. Wenn Sie ausgewählt sind, können Sie das Frage- und Antwortpaar anzeigen, das dieser Aktivität zugeordnet ist, zusammen mit einer Konfidenzbewertung. Dann können Sie alternative Fragen für eine Antwort formulieren.

Anmelden an Azure

Sie können den Emulator verwenden, um sich bei Ihrem Azure-Konto anzumelden. 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. Melden Sie sich mit den folgenden Schritten bei Azure an:

  1. Wählen Sie "Datei" aus, und melden Sie sich dann mit Azure an.

    Emulator melden sich mit Azure an

  2. Wählen Sie auf dem Begrüßungsbildschirm die Option "Anmelden" mit Ihrem Azure-Konto aus. Sie können optional emulatorübergreifend angemeldet sein.

    Der Emulator Azure anmeldet erfolgreich

Deaktivieren der Datensammlung

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:

  1. Wählen Sie im Emulator einstellungen (das Zahnradsymbol) im linken Bereich aus.

    Schaltfläche

  2. Unter der Datensammlung können Sie den Emulator verbessern, indem wir die Nutzungsdaten sammeln können.

  3. Wählen Sie Speichern aus.

Wenn Sie Ihre Meinung ändern, können Sie die Datensammlung später erneut erstellen.

Zusätzliche Ressourcen

Der Bot Framework-Emulator ist eine Open Source-Ressource. Sie können zur Entwicklung beitragen sowie Fehler melden und Vorschläge einbringen.

Informationen zur Problembehandlung finden Sie unter Behandeln allgemeiner Probleme und in den anderen Artikeln zur Problembehandlung in diesem Abschnitt.

Nächster Schritt

Verwenden Sie die Middleware zur Überprüfung, um einen mit einem Kanal verbundenen Bot zu debuggen.