Partager via


Outil de test d’application Teams

Remarque

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 :

Capture d’écran montrant la carte adaptative de l’outil de test d’application Teams.

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.

Prerequisites

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 de http://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.

  1. Ouvrez Visual Studio Code.

  2. Sélectionnez l’icône Teams Toolkit dans la barre d’activité de Visual Studio Code.

  3. Sélectionnez Créer une application.

    Capture d’écran montrant l’emplacement du lien Créer un projet dans la barre latérale du Kit de ressources Teams.

  4. Sélectionnez Bot.

    Capture d’écran montrant les modèles d’application Teams Toolkit.

  5. Sélectionnez AI Chat Bot. Si vous avez besoin d’une fonctionnalité différente pour votre bot, choisissez une autre option.

    Capture d’écran montrant la fonctionnalité d’application à ajouter à votre nouvelle application.

  6. Sélectionnez JavaScript.

    Capture d’écran montrant l’option permettant de sélectionner le langage de programmation.

  7. Sélectionnez Dossier par défaut.

    Capture d’écran montrant la sélection de l’emplacement par défaut.

    Pour modifier l’emplacement par défaut, procédez comme suit :

    1. Sélectionnez Parcourir.

      Capture d’écran montrant la sélection de l’option Parcourir l’emplacement.

    2. Sélectionnez l’emplacement de l’espace de travail du projet.

    3. Sélectionnez Sélectionner un dossier.

      Capture d’écran montrant le dossier à sélectionner.

  8. Entrez un nom approprié pour votre application, puis sélectionnez la touche Entrée .

    Capture d’écran montrant où entrer le nom de l’application.

    Une boîte de dialogue s’affiche, dans laquelle vous devez choisir oui ou non pour approuver les auteurs des fichiers dans ce dossier.

    Capture d’écran montrant la boîte de dialogue pour approuver ou non les auteurs des fichiers dans ce dossier.

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

    Capture d’écran montrant l’option de sélection de débogage dans l’outil de test.

  10. L’outil de test ouvre le bot dans une page web.

    Capture d’écran montrant le bot ouvert dans l’outil de test.

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é :

  1. Déclencheurs d’activité prédéfinis
  2. Déclencheurs d’activité personnalisés

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

Remarque

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 :

  1. Dans l’outil de test, accédez à Simuler une activité et sélectionnez Ajouter un utilisateur.

    Capture d’écran montrant l’option Ajouter un utilisateur sous simuler une activité.

    Une fenêtre contextuelle s’affiche pour afficher un aperçu du gestionnaire d’activités.

  2. Sélectionnez Envoyer l’activité.

    Capture d’écran montrant l’option d’envoi d’une activité pour l’ajout d’un utilisateur d’activité fictive prédéfini.

    Le bot envoie une réponse.

    Capture d’écran montrant la réponse de l’utilisateur d’ajout d’une activité fictive prédéfinie.

Déclencheurs d’activité personnalisés

Vous pouvez utiliser l’activité personnalisée pour personnaliser des déclencheurs d’activité tels que , reactionsAddedafin 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.

  1. Sélectionnez Simuler une activité>Activité personnalisée.

    Capture d’écran montrant la liste des options sous simuler une activité.

  2. 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"
    }
    
  3. Sélectionnez Envoyer l’activité.

    Capture d’écran montrant l’option d’envoi de l’activité après la personnalisation sur une activité fictive.

    Le bot envoie un onReactionsAdded gestionnaire en réponse.

    Capture d’écran montrant la réponse d’une activité fictive personnalisée.

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.

  1. Accédez au .teamsapptesttool.yml fichier dans le dossier racine du projet.

  2. Accédez à la users section et mettez à jour , nameuserPrincipleNameet email 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
    
  3. Enregistrez le fichier et sélectionnez F5 pour déboguer dans l’outil de test.

Remarque

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 :

  1. Ouvrez le dossier de projet du bot existant dans teams Toolkit.

  2. Accédez à EXPLORER.vscode>.

  3. 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 
            }, 
        ] 
    } 
    
  4. 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" 
          } 
        }, 
      ],
    }
    
  5. 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
    
  6. Accédez à EXPLORER>env.

  7. 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
    
  8. Si vous avez des variables d’environnement personnalisées, définissez leurs valeurs dans .env.testtool ou .env.testtool.user.

  9. 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/>
    
  10. 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", 
        ... 
    },
    
  11. 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.

    Capture d’écran montrant l’option de sélection de débogage dans l’outil de test.

L’outil de test débogue correctement votre bot existant.

Forum aux questions

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.

Capture d’écran montrant le message d’avertissement d’une fonctionnalité non prise 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.

Voir aussi