Outil de test d’application Teams
Notes
L’outil de test d’application Teams est disponible dans la dernière version préliminaire du Kit de ressources Microsoft Teams. Veillez à installer la dernière version préliminaire du Kit de ressources Teams.
L’outil de test d’application Teams (outil de test) permet de déboguer facilement les applications basées sur un bot. Vous pouvez discuter avec votre bot et voir ses messages et cartes adaptatives tels qu’ils apparaissent dans Microsoft Teams. Vous n’avez pas besoin d’un compte de développeur Microsoft 365, d’un tunneling ou d’une inscription d’application et de bot Teams pour utiliser l’outil de test.
L’image suivante montre un exemple d’application affichant une carte adaptative avec une liste de commandes dans l’outil de test. Il fournit également une description des commandes afin que vous puissiez tester votre application sans rechercher manuellement dans votre code :
Voici les avantages de Test Tool :
Environnement de bac à sable : l’environnement de bac à sable de l’outil de test émule le comportement, l’apparence et l’expérience utilisateur de Teams.
Tunneling : un service de tunnel externe n’est pas nécessaire, car l’outil de test s’exécute sur un serveur local avec lequel votre bot peut communiquer.
Réduire les dépendances de compte : le locataire Microsoft 365 Développeur et les autorisations de chargement de l’application ne sont pas nécessaires pour déboguer le bot.
Itérations rapides de boucle interne : optimise le processus de modification de la conception de l’application et de la logique du bot sans avoir à redéployer le bot dans le cloud.
Données et activités fictives : l’outil de test permet de tester facilement des scénarios complexes tels que l’envoi d’un message de bienvenue lorsqu’un nouveau membre rejoint le canal, à l’aide de données fictives et de déclencheurs d’activité.
Fiable : l’outil de test est fiable, car la carte adaptative du bot utilise la même technologie de rendu que dans Teams.
Intégration avec des applications de bot Teams existantes : l’outil de test s’intègre facilement aux applications de bot Teams existantes créées avec le KIT de développement logiciel (SDK) Bot Framework.
Prise en charge de différentes étendues : l’outil de test prend en charge les tests dans les étendues de conversation personnelle, d’équipe et de groupe.
Configuration requise
Veillez à installer les outils suivants pour générer et déployer vos bots dans l’outil de test :
Installer | Pour l’utilisation... | |
---|---|---|
Toolkit Teams | Extension Microsoft Visual Studio Code qui crée une structure de projet pour votre application. Utilisez la dernière version préliminaire. | |
Node.js | Environnement runtime JavaScript principal. Pour plus d’informations, consultez Node.js table de compatibilité des versions pour le type de projet. | |
Visual Studio Code | Environnements de build JavaScript, TypeScript ou SharePoint Framework (SPFx). Utilisez la dernière version. |
Comprendre l’outil de test
L’outil de test est un package npm qui a une commande CLI appelée teamsapptester
. Lorsque vous exécutez teamsapptester start
, il ouvre une application web sur votre ordinateur local qui émule le client web Teams et le service Bot Framework. Cette application web n’a pas besoin de ressources cloud, car elle utilise des données fictives pour simuler les informations contextuelles de Teams.
Pour utiliser un bot Teams sur l’outil de test, vous devez fournir :
- Point de terminaison de message : un point de terminaison de message de bot est l’URL qui lie l’outil de test et votre bot. Vous pouvez mettre à jour le point de terminaison avec la
BOT_ENDPOINT
variable d’environnement ou utiliser la valeur par défaut dehttp://localhost:3978/api/messages
. - Fichier de configuration (facultatif) : un fichier de configuration informe l’outil de test de vos informations contextuelles personnalisées dans Teams. Le fichier est nommé .teamsapptesttool.yml dans le dossier racine du projet. Si Teams ne trouve pas ce fichier, il utilise la configuration par défaut. Pour plus d’informations, consultez Personnaliser le contexte Teams.
Expérience de l’outil de test dans le Kit de ressources Teams
L’outil de test offre une expérience de débogage plus rapide pour les applications de bot par rapport au client Teams.
Ouvrez Visual Studio Code.
Sélectionnez l’icône Teams Toolkit dans la barre d’activité de Visual Studio Code.
Sélectionnez Créer une application.
Sélectionnez Bot.
Sélectionnez AI Chat Bot. Si vous avez besoin d’une fonctionnalité différente pour votre bot, choisissez une autre option.
Sélectionnez JavaScript.
Sélectionnez Dossier par défaut.
Pour modifier l’emplacement par défaut, procédez comme suit :
Sélectionnez Parcourir.
Sélectionnez l’emplacement de l’espace de travail du projet.
Sélectionnez Sélectionner un dossier.
Entrez un nom approprié pour votre application, puis sélectionnez la touche Entrée .
Une boîte de dialogue s’affiche, dans laquelle vous devez choisir oui ou non pour approuver les auteurs des fichiers dans ce dossier.
Dans le volet gauche, sélectionnez Exécuter et déboguer (
Ctrl+Shift+D
), puis sélectionnez Déboguer dans l’outil de test (préversion) dans la liste déroulante.L’outil de test ouvre le bot dans une page web.
Déclencheurs d’activité
Vous pouvez simuler une activité dans l’outil de test à l’aide de déclencheurs d’activité. Il existe deux types de déclencheurs d’activité :
Déclencheurs d’activité prédéfinis
L’outil de test fournit des déclencheurs d’activité prédéfinis pour tester les fonctionnalités de votre bot.
Catégorie | Activité | Handler |
---|---|---|
Déclencher l’activité de mise à jour de l’installation | Installer le bot Désinstaller le bot |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
Déclencher l’activité de mise à jour de conversation | Ajouter un utilisateur Ajouter un robot Ajouter un canal |
onMembersAdded onTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
Supprimer l’utilisateur Supprimer le bot Supprimer un canal Supprimer l’équipe |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
Renommer le canal Renommer l’équipe |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
Notes
Tous les types d’activités ne sont pas disponibles dans toutes les étendues. Par exemple, vous ne pouvez pas ajouter ou supprimer un canal dans une conversation personnelle ou une conversation de groupe.
Les déclencheurs d’activité prédéfinis sont disponibles dans le menu Simuler une activité de l’outil de test.
Pour simuler une activité Ajouter un utilisateur , procédez comme suit :
Dans l’outil de test, accédez à Simuler une activité et sélectionnez Ajouter un utilisateur.
Une fenêtre contextuelle s’affiche pour afficher un aperçu du gestionnaire d’activités.
Sélectionnez Envoyer l’activité.
Le bot envoie une réponse.
Déclencheurs d’activité personnalisés
Vous pouvez utiliser l’activité personnalisée pour personnaliser des déclencheurs d’activité tels que , reactionsAdded
afin de répondre aux exigences de votre application bot. L’outil de test remplit automatiquement les propriétés requises de l’activité. Vous pouvez également modifier le type d’activité et ajouter d’autres propriétés.
Sélectionnez Simuler une activité>Activité personnalisée.
Ajoutez
messageReaction
pour personnaliser l’activité sous la propriététype
et appeler l’activité personnalisée.{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }
Sélectionnez Envoyer l’activité.
Le bot envoie un
onReactionsAdded
gestionnaire en réponse.
Personnaliser le contexte Teams
Le fichier de configuration dans le dossier racine du projet vous permet de personnaliser les informations de contexte Teams telles que les conversations, les équipes et les utilisateurs. Le fichier fournit des données fictives pour tester les API Bot Framework ou les méthodes du Kit de développement logiciel (SDK) Bot Builder telles que TeamsInfo.getTeamMembers
.
Configuration par défaut
L’outil de test contient un fichier de configuration intégré dans le dossier racine du projet.
# 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
Mettre à jour le fichier de configuration
Si votre code de bot utilise des API Bot Framework, vous pouvez modifier le fichier de configuration pour modifier la réponse de l’API. Prenons l’exemple d’un bot de notification Azure DevOps installé dans une équipe qui récupère les bogues inactifs à partir d’Azure DevOps. Il identifie les propriétaires du bogue inactif, récupère leurs adresses e-mail et envoie des notifications à leurs conversations personnelles quotidiennement.
Pour tester de manière complète ce bot dans l’outil de test, il est essentiel de mettre à jour le fichier de configuration afin d’utiliser les adresses e-mail correctes des propriétaires des bogues inactifs.
Accédez au
.teamsapptesttool.yml
fichier dans le dossier racine du projet.Accédez à la
users
section et mettez à jour ,name
userPrincipleName
etemail
de l’utilisateur requis.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
Enregistrez le fichier et sélectionnez F5 pour déboguer dans l’outil de test.
Notes
Lorsque vous modifiez le fichier de configuration dans Visual Studio Code, IntelliSense met automatiquement à jour les noms des propriétés et vous avertit si vous entrez des valeurs non valides.
Il est essentiel de reconnaître que la mise à jour du fichier de configuration a trois impacts majeurs :
- Elle influence les réponses obtenues à partir des API Bot Framework Connector, par exemple .
TeamsInfo.getPagedMembers()
- Il forme les détails de la charge utile d’activité, par exemple .
activity.recipient
- Cela a un impact sur l’interface utilisateur de l’outil de test, par exemple, les noms de conversation de groupe.
Limitations
Les fonctionnalités de bot activées via le manifeste de l’application Teams ne sont pas disponibles, car l’outil de test ne les traite pas.
L’outil de test ne prend pas en charge tous les types de cartes, à l’exception des cartes adaptatives.
L’outil de test ne prend pas en charge les fonctionnalités de carte adaptative suivantes :
L’outil de test ne prend pas en charge les expériences suivantes :
- Mobile
- Réunion
L’outil de test peut émuler les expériences suivantes :
Fonctionnalités Déboguer dans l’outil de test Déboguer votre application Teams localement Envoi/réception de messages de base Disponible Disponible API Bot Framework (TeamsInfo.getPagedMembers()...) Disponible (répondre avec des données fictives) Disponible Envoi d’événements Teams Disponible (activité fictive) Disponible Indicateur de saisie Non disponible Disponible Tab, Extension de message, Boîtes de dialogue (appelées modules de tâche dans TeamsJS v1.x), Authentification unique (SSO) et cartes non adaptatives Non disponible Disponible
Déboguer une application existante avec l’outil de test
Vérifiez qu’un bot existant a été créé à l’aide du Kit de ressources Teams. Pour déboguer votre bot avec l’outil de test, procédez comme suit :
Ouvrez le dossier de projet du bot existant dans teams Toolkit.
Accédez à EXPLORER.vscode>.
Sélectionnez launch.json et ajoutez le code suivant à la fin du fichier :
// .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 }, ] }
Accédez à tasks.json et ajoutez le code suivant à la fin du fichier :
{ "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" } }, ], }
Sous EXPLORER, créez un fichier .localConfigs.testtool et ajoutez le code suivant :
// .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
Accédez à EXPLORER>env.
Créez un fichier .env.testtool et ajoutez le code suivant :
// .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
Si vous avez des variables d’environnement personnalisées, définissez leurs valeurs dans .env.testtool ou .env.testtool.user.
Ajoutez une clé OpenAI ou une clé et un point de terminaison Azure OpenAI dans .env.testtool.user.
# SECRET_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_ENDPOINT=<https://your-openai-service-name.openai.azure.com/>
Accédez à package.json et ajoutez le code suivant sous la
scripts
propriété :"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", ... },
Dans le volet gauche, sélectionnez Exécuter et déboguer (
Ctrl+Shift+D
), puis sélectionnez Déboguer dans l’outil de test dans la liste déroulante.
L’outil de test débogue correctement votre bot existant.
FAQ
Comment puis-je tester mon bot si Test Tool ne prend pas en charge ses fonctionnalités ?
Vous pouvez toujours utiliser le client Teams pour tester les fonctionnalités que Test Tool ne prend pas en charge. Sélectionnez l’option Déboguer dans Teams (Edge) ou Déboguer dans Teams (Chrome) pour tester votre application dans le client Teams.
Comment savoir si l’outil de test ne prend pas en charge les fonctionnalités de mon bot ?
L’outil de test affiche un message d’avertissement dans le panneau de conversation et de journal lorsqu’il détecte des fonctionnalités non prises en charge.
Microsoft recommande-t-il d’utiliser uniquement l’outil de test pour tester des applications bot ?
Non. Nous recommandons toujours aux utilisateurs de tester leur application de bot dans le client Teams avant de déplacer l’application vers l’environnement de production.
Exemple de code
Exemple de nom | Description | Node.js |
---|---|---|
Exemple d’application d’outil de test | Exemple d’application bot pour explorer l’outil de test. | View |
Guide pas à pas
Suivez le guide pas à pas pour déboguer un bot de conversation ia à l’aide de l’outil de test d’application Teams.