Teams-App-Testtool
Hinweis
Das Teams App-Testtool ist in der neuesten Vorabversion des Microsoft Teams-Toolkits verfügbar. Stellen Sie sicher, dass Sie die neueste Vorabversion des Teams-Toolkits installieren.
Das Teams App-Testtool (Testtool) ermöglicht das mühelose Debuggen von botbasierten Apps. Sie können mit Ihrem Bot chatten und seine Nachrichten und adaptive Karten anzeigen, wie sie in Microsoft Teams angezeigt werden. Sie benötigen kein Microsoft 365-Entwicklerkonto, Tunneling oder eine Teams-App- und Bot-Registrierung, um das Testtool verwenden zu können.
Die folgende Abbildung zeigt eine Beispiel-App, die eine adaptive Karte mit einer Liste von Befehlen im Testtool anzeigt. Es enthält auch eine Beschreibung der Befehle, damit Sie Ihre App testen können, ohne ihren Code manuell zu durchsuchen:
Im Folgenden sind die Vorteile des Testtools aufgeführt:
Sandboxumgebung: Die Sandboxumgebung des Testtools emuliert das Verhalten, aussehen und die Benutzererfahrung von Teams.
Tunneling: Ein externer Tunneldienst ist nicht erforderlich, da das Testtool auf einem lokalen Server ausgeführt wird, mit dem Ihr Bot kommunizieren kann.
Reduzieren von Kontoabhängigkeiten: Der Microsoft 365-Entwicklermandant und die App-Uploadberechtigungen sind zum Debuggen des Bots nicht erforderlich.
Schnelle Iterationen in inneren Schleifen: Optimiert den Prozess der Änderungen am App-Design und der Botlogik, ohne den Bot erneut in der Cloud bereitstellen zu müssen.
Modelldaten und Aktivitäten: Das Testtool erleichtert das Testen komplexer Szenarien, z. B. das Senden einer Begrüßungsnachricht, wenn ein neues Mitglied dem Kanal beitritt, mithilfe von Pseudodaten und Aktivitätstriggern.
Zuverlässig: Das Testtool ist zuverlässig, da die adaptive Karte des Bots dieselbe Renderingtechnologie wie in Teams verwendet.
Integration in vorhandene Teams-Botanwendungen: Das Testtool lässt sich mühelos in vorhandene Teams-Botanwendungen integrieren, die mit dem Bot Framework SDK erstellt wurden.
Unterstützung für verschiedene Bereiche: Das Testtool unterstützt Tests in persönlichen, Team- und Gruppenchatbereichen.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Tools zum Erstellen und Bereitstellen Ihrer Bots im Testtool installieren:
Installieren | Zum Benutzen... | |
---|---|---|
Teams Toolkit | Eine Microsoft Visual Studio Code-Erweiterung, die ein Projektgerüst für Ihre App erstellt. Verwenden Sie die neueste Vorabversion. | |
Node.js | Back-End-JavaScript-Laufzeitumgebung. Weitere Informationen finden Sie unter Node.js Versionskompatibilitätstabelle für den Projekttyp. | |
Visual Studio Code | Build-Umgebungen für JavaScript, TypeScript oder SharePoint Framework (SPFx). Verwenden Sie die neueste Version. |
Grundlegendes zum Testtool
Das Testtool ist ein npm-Paket mit einem CLI-Befehl namens teamsapptester
. Wenn Sie ausführen teamsapptester start
, wird eine Web-App auf Ihrem lokalen Computer geöffnet, die den Teams-Webclient und den Bot Framework-Dienst emuliert. Diese Web-App benötigt keine Cloudressourcen, da sie Simulierte Daten verwendet, um die Kontextinformationen von Teams zu simulieren.
Um einen Teams-Bot im Testtool verwenden zu können, müssen Sie Folgendes bereitstellen:
- Nachrichtenendpunkt: Ein Botnachrichtenendpunkt ist die URL, die Testtool und Ihren Bot verknüpft. Sie können den Endpunkt mit der Umgebungsvariablen
BOT_ENDPOINT
aktualisieren oder den Standardwert verwendenhttp://localhost:3978/api/messages
. - Konfigurationsdatei (optional): Eine Konfigurationsdatei informiert das Testtool über Ihre angepassten Kontextinformationen in Teams. Die Datei hat den Namen .teamsapptesttool.yml im Stammordner des Projekts. Wenn Teams diese Datei nicht finden kann, wird die Standardkonfiguration verwendet. Weitere Informationen finden Sie unter Anpassen des Teams-Kontexts.
Testen der Toolerfahrung im Teams-Toolkit
Das Testtool bietet eine schnellere Debugerfahrung für Botanwendungen im Vergleich zum Teams-Client.
Öffnen Sie Visual Studio Code.
Wählen Sie das Symbol Teams Toolkit in der Visual Studio Code-Aktivitätsleiste aus.
Wählen Sie Neue App erstellenaus.
Wählen Sie Bot aus.
Wählen Sie AI Chat Bot aus. Wenn Sie eine andere Funktionalität für Ihren Bot benötigen, wählen Sie eine andere Option aus.
Wählen Sie JavaScript aus.
Wählen Sie Standardordneraus.
Führen Sie die folgenden Schritte aus, um den Standardspeicherort zu ändern:
Wählen Sie Durchsuchen aus.
Wählen Sie den Speicherort für den Projektarbeitsbereich aus.
Wählen Sie Ordner auswählen aus.
Geben Sie einen geeigneten Namen für Ihre App ein, und drücken Sie dann die EINGABETASTE .
Es wird ein Dialogfeld angezeigt, in dem Sie ja oder nein auswählen müssen, um den Autoren der Dateien in diesem Ordner zu vertrauen.
Wählen Sie im linken Bereich Ausführen und Debuggen (
Ctrl+Shift+D
) und dann in der Dropdownliste Debuggen im Testtool (Vorschau) aus.Das Testtool öffnet den Bot auf einer Webseite.
Aktivitätstrigger
Sie können eine Aktivität im Testtool mithilfe von Aktivitätstriggern simulieren. Es gibt zwei Arten von Aktivitätstriggern:
Vordefinierte Aktivitätstrigger
Das Testtool stellt vordefinierte Aktivitätstrigger zum Testen der Funktionen Ihres Bots bereit.
Kategorie | Aktivität | Handler |
---|---|---|
Auslösen der Updateaktivität für die Installation | Installieren des Bots Deinstallieren des Bots |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
Auslösen der Konversationsaktualisierungsaktivität | Benutzer hinzufügen Bot hinzufügen Kanal hinzufügen |
onMembersAdded onTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
Entfernen eines Benutzers Bot entfernen Kanal entfernen Team entfernen |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
Kanal umbenennen Team umbenennen |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
Hinweis
Nicht alle Arten von Aktivitäten sind in allen Bereichen verfügbar. Sie können z. B. keinen Kanal in einem persönlichen Chat oder einem Gruppenchat hinzufügen oder entfernen.
Vordefinierte Aktivitätstrigger sind im Testtool im Menü Aktivität simulieren verfügbar.
Führen Sie die folgenden Schritte aus, um eine Benutzer hinzufügen-Aktivität zu simulieren:
Wechseln Sie im Testtool zu Aktivität simulieren , und wählen Sie Benutzer hinzufügen aus.
Ein Popupfenster wird angezeigt, um eine Vorschau des Aktivitätshandlers anzuzeigen.
Wählen Sie Aktivität senden aus.
Der Bot sendet eine Antwort.
Benutzerdefinierte Aktivitätstrigger
Sie können die benutzerdefinierte Aktivität verwenden, reactionsAdded
um Aktivitätstrigger wie , an die Anforderungen Ihrer Bot-App anzupassen. Das Testtool füllt automatisch die erforderlichen Eigenschaften der Aktivität auf. Sie können auch den Aktivitätstyp ändern und weitere Eigenschaften hinzufügen.
Wählen SieBenutzerdefinierte Aktivität>simulieren aus.
Fügen Sie hinzu
messageReaction
, um die Aktivität unter der -Eigenschafttype
anzupassen und die benutzerdefinierte Aktivität aufzurufen.{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }
Wählen Sie Aktivität senden aus.
Der Bot sendet als Antwort einen
onReactionsAdded
Handler.
Anpassen des Teams-Kontexts
Mit der Konfigurationsdatei im Stammordner des Projekts können Sie Teams-Kontextinformationen wie Chats, Teams und Benutzer anpassen. Die Datei enthält Modelldaten zum Testen von Bot Framework-APIs oder Bot Builder SDK-Methoden wie TeamsInfo.getTeamMembers
.
Standardkonfiguration
Das Testtool enthält eine integrierte Konfigurationsdatei im Stammordner des Projekts.
# yaml-language-server: $schema=https://aka.ms/teams-app-test-tool-config/0.1.0/config.schema.json
# Visit https://aka.ms/teams-app-test-tool-config-guide for more details on this file.
# This configuration file customizes the Teams context information like chats, teams, and users.
# It contains mock data for testing Bot Framework APIs or Bot Builder SDK methods such as TeamsInfo.getTeamMembers().
# You can customize this file to change API response if your bot code uses these APIs.
version: "0.1.0"
tenantId: 00000000-0000-0000-0000-0000000000001
bot:
id: 00000000-0000-0000-0000-00000000000011
name: Test Bot
currentUser:
id: user-id-0
name: Alex Wilber
userPrincipleName: alexw@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000020
givenName: Alex
surname: Wilber
email: alexw@example.com
users:
- id: user-id-1
name: Megan Bowen
userPrincipleName: meganb@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000021
givenName: Megan
surname: Bowen
email: meganb@example.com
- id: user-id-2
name: Adele Vance
userPrincipleName: adelev@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000022
givenName: Adele
surname: Vance
email: adelev@example.com
- id: user-id-3
name: Isaiah Langer
userPrincipleName: isaiah@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000023
givenName: Isaiah
surname: Langer
email: isaiahl@example.com
- id: user-id-4
name: Patti Fernandez
userPrincipleName: pattif@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000024
givenName: Patti
surname: Fernandez
email: pattif@example.com
- id: user-id-5
name: Lynne Robbins
userPrincipleName: lynner@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000025
givenName: Lynne
surname: Robbins
email: lynner@example.com
personalChat:
id: personal-chat-id
groupChat:
id: group-chat-id
name: Group Chat
team:
id: team-id
name: My Team
aadGroupId: 00000000-0000-0000-0000-000000000031
channels:
- id: channel-announcements-id
name: Announcements
Aktualisieren der Konfigurationsdatei
Wenn Ihr Botcode Bot Framework-APIs verwendet, können Sie die Konfigurationsdatei ändern, um die API-Antwort zu ändern. Betrachten wir einen Azure DevOps-Benachrichtigungsbot, der in einem Team installiert ist und inaktive Fehler aus Azure DevOps abruft. Es identifiziert die Besitzer des inaktiven Fehlers, ruft ihre E-Mail-Adressen ab und sendet täglich Benachrichtigungen an ihre persönlichen Chats.
Um diesen Bot im Testtool umfassend zu testen, ist es wichtig, die Konfigurationsdatei so zu aktualisieren, dass die richtigen E-Mail-Adressen der Besitzer der inaktiven Fehler verwendet werden.
Wechseln Sie zur
.teamsapptesttool.yml
Datei im Stammordner des Projekts.Wechseln Sie zum
users
Abschnitt,userPrincipleName
und aktualisieren Sie ,name
undemail
des erforderlichen Benutzers.users: - id: user-id-1 name: Megan Bowen userPrincipleName: meganb@example.com aadObjectId: 00000000-0000-0000-0000-0000000000021 givenName: Megan surname: Bowen email: some-real-user@real-domain.onmicrosoft.com
Speichern Sie die Datei, und wählen Sie F5 aus, um im Testtool zu debuggen.
Hinweis
Wenn Sie die Konfigurationsdatei in Visual Studio Code bearbeiten, aktualisiert IntelliSense automatisch die Eigenschaftennamen und warnt Sie, wenn Sie ungültige Werte eingeben.
Es ist wichtig zu erkennen, dass das Aktualisieren der Konfigurationsdatei drei wesentliche Auswirkungen hat:
- Sie beeinflusst die Antworten, die von Bot Framework Connector-APIs abgerufen werden,
TeamsInfo.getPagedMembers()
z. B. . - Es formt die Details in der Aktivitätsnutzlast,
activity.recipient
z. B. . - Dies wirkt sich auf die Benutzeroberfläche im Testtool aus, z. B. Gruppenchatnamen.
Begrenzungen
Botfeatures, die über das Teams-App-Manifest aktiviert werden, sind nicht verfügbar, da es vom Testtool nicht verarbeitet wird.
Das Testtool unterstützt nicht alle Arten von Karten mit Ausnahme von adaptiven Karten.
Das Testtool unterstützt die folgenden Features für adaptive Karten nicht:
Das Testtool unterstützt die folgenden Funktionen nicht:
- Mobil
- Besprechung
Das Testtool kann die folgenden Funktionen emulieren:
Features Debuggen im Testtool Lokales Debuggen Ihrer Teams-App Grundlegendes Senden/Empfangen von Nachrichten Verfügbar Verfügbar Bot Framework-APIs (TeamsInfo.getPagedMembers()...) Verfügbar (Antworten mit simulierten Daten) Verfügbar Senden von Teams-Ereignissen Verfügbar (Pseudoaktivität) Verfügbar Eingabeindikator Nicht verfügbar Verfügbar Registerkarte, Nachrichtenerweiterung, Dialoge (in TeamsJS v1.x als Aufgabenmodule bezeichnet), Einmaliges Anmelden (Single Sign-On, SSO) und nicht adaptive Karten Nicht verfügbar Verfügbar
Debuggen einer vorhandenen App mit dem Testtool
Stellen Sie sicher, dass Sie einen vorhandenen Bot mit dem Teams Toolkit erstellt haben. Führen Sie die folgenden Schritte aus, um Ihren Bot mit dem Testtool zu debuggen:
Öffnen Sie den Projektordner des vorhandenen Bots im Teams Toolkit.
Wechseln Sie zu EXPLORER.vscode>.
Wählen Sie launch.json aus, und fügen Sie den folgenden Code am Ende der Datei hinzu:
// .vscode/launch.json { ... "compounds": [ ... { "name": "Debug in Test Tool", "configurations": [ "Attach to Local Service" ], "preLaunchTask": "Start Teams App (Test Tool)", "presentation": { "group": "1-local", "order": 1 }, "stopAll": true }, ] }
Wechseln Sie zu tasks.json , und fügen Sie den folgenden Code am Ende der Datei hinzu:
{ "label": "Start Test Tool", "type": "shell", "command": "npm run dev:teamsfx:launch-testtool", "isBackground": true, "options": { "env": { "PATH": "${workspaceFolder}/devTools/teamsapptester/node_modules/.bin:${env:PATH}" } }, "windows": { "options": { "env": { "PATH": "${workspaceFolder}/devTools/teamsapptester/node_modules/.bin;${env:PATH}" } } }, "problemMatcher": { "pattern": [ { "regexp": "^.*$", "file": 0, "location": 1, "message": 2 } ], "background": { "activeOnStart": true, "beginsPattern": ".*", "endsPattern": "Listening on" } }, "presentation": { "panel": "dedicated", "reveal": "silent" } }, ], }
Erstellen Sie unter EXPLORER eine .localConfigs.testtool-Datei , und fügen Sie den folgenden Code hinzu:
// .localConfigs.testTool # A gitignored place holder file for local runtime configurations when debug in test tool BOT_ID= BOT_PASSWORD= TEAMSFX_NOTIFICATION_STORE_FILENAME=.notification.testtoolstore.json
Wechseln Sie zu EXPLORER>env.
Erstellen Sie eine .env.testtool-Datei , und fügen Sie den folgenden Code hinzu:
// .env.testtool # This file includes environment variables that can be committed to git. It's gitignored by default because it represents your local development environment # Built-in environment variables TEAMSFX_ENV=testtool # Environment variables used by test tool TEAMSAPPTESTER_PORT=56150
Wenn Sie über benutzerdefinierte Umgebungsvariablen verfügen, legen Sie deren Werte in .env.testtool oder .env.testtool.user fest.
Fügen Sie entweder einen OpenAI-Schlüssel oder einen Azure OpenAI-Schlüssel und -Endpunkt in .env.testtool.user hinzu.
# SECRET_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_ENDPOINT=<https://your-openai-service-name.openai.azure.com/>
Wechseln Sie zu package.json , und fügen Sie den folgenden Code unter der
scripts
-Eigenschaft hinzu:"scripts": { ... "dev:teamsfx:testtool": "env-cmd --silent -f .localConfigs.testTool npm run dev", "dev:teamsfx:launch-testtool": "env-cmd --silent -f env/.env.testtool teamsapptester start", ... },
Wählen Sie im linken Bereich Ausführen und Debuggen (
Ctrl+Shift+D
) und dann in der Dropdownliste Testtool debuggen aus.
Das Testtool debuggt erfolgreich Ihren vorhandenen Bot.
Häufig gestellte Fragen
Wie kann ich meinen Bot testen, wenn das Testtool seine Features nicht unterstützt?
Sie können den Teams-Client immer verwenden, um die Features zu testen, die das Testtool nicht unterstützt. Wählen Sie die Option Debuggen in Teams (Edge) oder Debuggen in Teams (Chrome) aus, um Ihre Anwendung im Teams-Client zu testen.
Wie würde ich feststellen, ob das Testtool keine Features in meinem Bot unterstützt?
Das Testtool zeigt eine Warnmeldung im Unterhaltungs- und Protokollbereich an, wenn es nicht unterstützte Features erkennt.
Empfiehlt Microsoft, nur das Testtool zum Testen von Botanwendungen zu verwenden?
Nein Benutzern wird immer empfohlen, ihre Botanwendung im Teams-Client zu testen, bevor sie in die Produktionsumgebung verschoben werden.
Codebeispiel
Beispielname | Beschreibung | Node.js |
---|---|---|
Testtool-Beispiel-App | Eine Beispiel-Bot-App zum Testen des Testtools. | View |
Schrittweise Anleitung
Befolgen Sie die Schritt-für-Schritt-Anleitung zum Debuggen eines KI-Chatbots mit dem Teams App Test Tool.