Compartir a través de


Herramienta de prueba de aplicaciones de Teams

Nota:

La herramienta de prueba de aplicaciones de Teams está disponible en la versión preliminar más reciente del kit de herramientas de Microsoft Teams. Asegúrese de instalar la versión preliminar más reciente del kit de herramientas de Teams.

La herramienta de prueba de aplicaciones de Teams (herramienta de prueba) facilita la depuración de aplicaciones basadas en bots. Puede chatear con el bot y ver sus mensajes y tarjetas adaptables a medida que aparecen en Microsoft Teams. No necesita una cuenta de desarrollador de Microsoft 365, una tunelización o un registro de aplicaciones y bots de Teams para usar la herramienta de prueba.

En la imagen siguiente se muestra una aplicación de ejemplo que muestra una tarjeta adaptable con una lista de comandos en la Herramienta de prueba. También proporciona una descripción de los comandos para que pueda probar la aplicación sin buscar manualmente el código:

Captura de pantalla que muestra la tarjeta adaptable de la herramienta de prueba de aplicaciones de Teams.

A continuación se muestran las ventajas de la herramienta de prueba:

  • Entorno de espacio aislado: el entorno de espacio aislado de la herramienta de prueba emula el comportamiento, la apariencia y la experiencia del usuario de Teams.

  • Tunelización: no es necesario un servicio de túnel externo, ya que la herramienta de prueba se ejecuta en un servidor local con el que el bot puede comunicarse.

  • Reducir las dependencias de la cuenta: el inquilino del desarrollador de Microsoft 365 y los permisos de carga de aplicaciones no son necesarios para depurar el bot.

  • Iteraciones rápidas de bucle interno: optimiza el proceso de realizar cambios en el diseño de la aplicación y la lógica del bot sin tener que volver a implementar el bot en la nube.

  • Datos y actividades ficticios: la herramienta de prueba facilita la prueba de escenarios complejos, como el envío de un mensaje de bienvenida cuando un nuevo miembro se une al canal, mediante datos ficticios y desencadenadores de actividad.

  • Confiable: la herramienta de prueba es confiable, ya que la tarjeta adaptable del bot utiliza la misma tecnología de representación que en Teams.

  • Integración con aplicaciones de bot de Teams existentes: La herramienta de prueba se integra sin esfuerzo con las aplicaciones de bot de Teams existentes creadas con bot Framework SDK.

  • Compatibilidad con diferentes ámbitos: la herramienta de prueba admite pruebas en ámbitos de chat personales, de equipo y de grupo.

Requisitos previos

Asegúrese de instalar las siguientes herramientas para compilar e implementar los bots en La herramienta de prueba:

  Instalar Para usar...
  Kit de herramientas de Teams Extensión de Microsoft Visual Studio Code que crea un scaffolding de proyecto para la aplicación. Use la versión preliminar más reciente.
  Node.js Entorno de tiempo de ejecución de JavaScript de back-end. Para obtener más información, vea Node.js tabla de compatibilidad de versiones para el tipo de proyecto.
  Visual Studio Code Entornos de compilación de JavaScript, TypeScript o SharePoint Framework (SPFx). Use la versión más reciente.

Descripción de la herramienta de prueba

Test Tool es un paquete npm que tiene un comando de la CLI llamado teamsapptester. Al ejecutar teamsapptester start, se abre una aplicación web en el equipo local que emula el cliente web de Teams y el servicio Bot Framework. Esta aplicación web no necesita ningún recurso en la nube, ya que usa datos ficticios para simular la información contextual de Teams.

Para usar un bot de Teams en la herramienta de prueba, debe proporcionar lo siguiente:

  • Punto de conexión de mensaje: un punto de conexión de mensaje de bot es la dirección URL que vincula la herramienta de prueba y el bot. Puede actualizar el punto de conexión con la variable de BOT_ENDPOINT entorno o usar el valor predeterminado de http://localhost:3978/api/messages.
  • Archivo de configuración (opcional): un archivo de configuración informa a la herramienta de prueba sobre la información contextual personalizada en Teams. El archivo se denomina .teamsapptesttool.yml en la carpeta raíz del proyecto. Si Teams no encuentra este archivo, usa la configuración predeterminada. Para obtener más información, consulte Personalización del contexto de Teams.

Experiencia de la herramienta de prueba en el kit de herramientas de Teams

La herramienta de prueba ofrece una experiencia de depuración más rápida para las aplicaciones bot en comparación con el cliente de Teams.

  1. Abrir Visual Studio Code.

  2. Seleccione el icono Kit de herramientas de Teams en la barra de actividad de Visual Studio Code.

  3. Seleccione Crear una nueva aplicación.

    Captura de pantalla que muestra la ubicación del vínculo Crear nuevo proyecto en la barra lateral del kit de herramientas de Teams.

  4. Seleccione Bot.

    Captura de pantalla que muestra las plantillas de aplicación del kit de herramientas de Teams.

  5. Seleccione Bot de chat de IA. Si necesita una funcionalidad diferente para el bot, elija una opción diferente.

    Captura de pantalla que muestra la característica de aplicación que se va a agregar a la nueva aplicación.

  6. Seleccione JavaScript.

    Captura de pantalla que muestra la opción para seleccionar el lenguaje de programación.

  7. Seleccione Carpeta predeterminada.

    Captura de pantalla que muestra la selección de la ubicación predeterminada.

    Para cambiar la ubicación predeterminada, siga estos pasos:

    1. Seleccione Examinar.

      Captura de pantalla que muestra la selección de la opción examinar ubicación.

    2. Seleccione la ubicación del área de trabajo del proyecto.

    3. Seleccione Seleccionar carpeta.

      Captura de pantalla que muestra la carpeta que se va a seleccionar.

  8. Escriba un nombre adecuado para la aplicación y, a continuación, seleccione la tecla Entrar .

    Captura de pantalla que muestra dónde escribir el nombre de la aplicación.

    Aparece un cuadro de diálogo en el que debe elegir sí o no para confiar en los autores de los archivos de esta carpeta.

    Captura de pantalla que muestra el cuadro de diálogo en el que confiar o no los autores de los archivos de esta carpeta.

  9. En el panel izquierdo, seleccione Ejecutar y depurar (Ctrl+Shift+D) y seleccione Depurar en Herramienta de prueba (versión preliminar) en la lista desplegable.

    Captura de pantalla que muestra la opción para seleccionar depurar en la herramienta de prueba.

  10. La herramienta de prueba abre el bot en una página web.

    Captura de pantalla que muestra el bot abierto en La herramienta de prueba.

Desencadenadores de actividad

Puede simular una actividad en la herramienta de prueba mediante desencadenadores de actividad. Hay dos tipos de desencadenadores de actividad:

  1. Desencadenadores de actividad predefinidos
  2. Desencadenadores de actividad personalizados

Desencadenadores de actividad predefinidos

La herramienta de prueba proporciona desencadenadores de actividad predefinidos para probar las funcionalidades del bot.

Categoría Actividad Controlador
Actividad de actualización de instalación del desencadenador Instalación del bot


Desinstalar bot
onInstallationUpdate
onInstallationUpdateAdded

onInstallationUpdate
onInstallationUpdateRemove
Desencadenar actividad de actualización de conversación Agregar usuario

Agregar bot

Agregar canal
onMembersAdded

onTeamsMembersAddedEvent

onTeamsChannelRenamedEvent
Quitar usuario


Eliminación del bot


Quitar canal

Quitar equipo
onMembersRemoved
onTeamsMembersRemovedEvent

onMembersRemoved
onTeamsMembersRemovedEvent

onTeamsChannelDeletedEvent

onTeamsTeamDeletedEvent
Cambiar el nombre del canal

Cambiar el nombre del equipo
onTeamsChannelRenamedEvent

onTeamsTeamRenamedEvent

Nota:

Todos los tipos de actividades no están disponibles en todos los ámbitos. Por ejemplo, no puede agregar ni quitar un canal en un chat personal o un chat de grupo.

Los desencadenadores de actividad predefinidos están disponibles en el menú Simular una actividad de la Herramienta de prueba.

Para simular una actividad Agregar usuario , siga estos pasos:

  1. En Herramienta de prueba, vaya a Simular una actividad y seleccione Agregar usuario.

    Captura de pantalla que muestra la opción agregar usuario en simulacro de una actividad.

    Aparece una ventana emergente para obtener una vista previa del controlador de actividad.

  2. Seleccione Enviar actividad.

    Captura de pantalla que muestra la opción para enviar actividad para agregar usuario a la actividad simulada predefinida.

    El bot envía una respuesta.

    Captura de pantalla que muestra la respuesta de la actividad simulada predefinida agregar usuario.

Desencadenadores de actividad personalizados

Puede usar la actividad Personalizada para personalizar desencadenadores de actividad como, reactionsAdded, para ajustarse a los requisitos de la aplicación de bot. La herramienta de prueba rellena automáticamente las propiedades necesarias de la actividad. También puede modificar el tipo de actividad y agregar más propiedades.

  1. Seleccione Simular unaactividad personalizada de actividad>.

    Captura de pantalla que muestra la lista de opciones de simulación de una actividad.

  2. Agregue messageReaction para personalizar la actividad en la propiedad type e invocar la actividad personalizada.

    {
      "type": "messageReaction",
      "reactionsAdded": [
        {
          "type": "like"
        }
      ],
      "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47"
    }
    
  3. Seleccione Enviar actividad.

    Captura de pantalla que muestra la opción para enviar la actividad después de la personalización en la actividad simulada.

    El bot envía un onReactionsAdded controlador en respuesta.

    Captura de pantalla que muestra la respuesta de la actividad simulada personalizada.

Personalización del contexto de Teams

El archivo de configuración de la carpeta raíz del proyecto permite personalizar la información de contexto de Teams, como chats, equipos y usuarios. El archivo proporciona datos ficticios para probar las API de Bot Framework o los métodos del SDK de Bot Builder, como TeamsInfo.getTeamMembers.

Configuración predeterminada

La herramienta de prueba contiene un archivo de configuración integrado en la carpeta raíz del proyecto.
# 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

Actualización del archivo de configuración

Si el código del bot usa las API de Bot Framework, puede modificar el archivo de configuración para modificar la respuesta de la API. Consideremos un bot de notificación de Azure DevOps instalado en un equipo que captura errores inactivos de Azure DevOps. Identifica a los propietarios del error inactivo, captura sus direcciones de correo electrónico y envía notificaciones a sus chats personales diariamente.

Para probar exhaustivamente este bot en la Herramienta de prueba, es fundamental actualizar el archivo de configuración para usar las direcciones de correo electrónico correctas de los propietarios de los errores inactivos.

  1. Vaya al .teamsapptesttool.yml archivo de la carpeta raíz del proyecto.

  2. Vaya a la users sección y actualice , nameuserPrincipleNamey email del usuario necesario.

    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. Guarde el archivo y seleccione F5 para depurar en La herramienta de prueba.

Nota:

Al editar el archivo de configuración en Visual Studio Code, Intellisense actualiza automáticamente los nombres de propiedad y le advierte si escribe valores no válidos.

Es fundamental reconocer que la actualización del archivo de configuración tiene tres impactos importantes:

  • Influye en las respuestas obtenidas de las API de Bot Framework Connector, por ejemplo, TeamsInfo.getPagedMembers().
  • Da forma a los detalles de la carga de actividad, por ejemplo, activity.recipient.
  • Afecta a la interfaz de usuario en la Herramienta de prueba, por ejemplo, los nombres de chat de grupo.

Limitaciones

  • Las características de bot habilitadas a través del manifiesto de aplicación de Teams no están disponibles, ya que la herramienta de prueba no lo procesa.

  • La herramienta de prueba no admite todos los tipos de tarjetas excepto las tarjetas adaptables.

  • La herramienta de prueba no admite las siguientes características de tarjeta adaptable:

  • La herramienta de prueba no admite las siguientes experiencias:

    • Móvil
    • Reunión
  • La herramienta de prueba puede emular las siguientes experiencias:

    Características Depurar en la herramienta de prueba Depurar la aplicación de Teams localmente
    Envío y recepción de mensajes básicos Disponible Disponible
    API de Bot Framework (TeamsInfo.getPagedMembers()...) Disponible (responder con datos ficticios) Disponible
    Envío de eventos de Teams Disponible (actividad simulada) Disponible
    Indicador de escritura Not Available Disponible
    Pestaña, Extensión de mensaje, Diálogos (denominados módulos de tareas en TeamsJS v1.x), Inicio de sesión único (SSO) y Tarjetas no adaptables Not Available Disponible

Depuración de una aplicación existente con la herramienta de prueba

Asegúrese de que tiene un bot existente creado con teams Toolkit. Para depurar el bot con La herramienta de prueba, siga estos pasos:

  1. Abra la carpeta del proyecto del bot existente en el kit de herramientas de Teams.

  2. Vaya a EXPLORER.vscode>.

  3. Seleccione launch.json y agregue el código siguiente al final del archivo:

    // .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. Vaya a tasks.json y agregue el código siguiente al final del archivo:

        { 
          "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. En EXPLORER, cree un archivo .localConfigs.testtool y agregue el código siguiente:

    // .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. Vaya a EXPLORADOR>env.

  7. Cree un archivo .env.testtool y agregue el código siguiente:

    // .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 tiene variables de entorno personalizadas, establezca sus valores en .env.testtool o .env.testtool.user.

  9. Agregue una clave OpenAI o una clave y un punto de conexión de Azure OpenAI en .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. Vaya a package.json y agregue el código siguiente en la scripts propiedad :

    "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. En el panel izquierdo, seleccione Ejecutar y depurar (Ctrl+Shift+D) y seleccione Depurar en Herramienta de prueba en la lista desplegable.

    Captura de pantalla que muestra la opción para seleccionar depurar en la herramienta de prueba.

La herramienta de prueba depura correctamente el bot existente.

Preguntas más frecuentes

¿Cómo puedo probar mi bot si La herramienta de prueba no admite sus características?

Siempre puede usar el cliente de Teams para probar las características que la herramienta de prueba no admite. Seleccione la opción Depurar en Teams (Edge) o Depurar en Teams (Chrome) para probar la aplicación en el cliente de Teams.
 

¿Cómo sabría si La herramienta de prueba no admite características en mi bot?

La Herramienta de prueba muestra un mensaje de advertencia en el panel de conversación y registro cuando detecta características no admitidas.

Captura de pantalla que muestra el mensaje de advertencia de una característica no admitida.
 

¿Recomienda Microsoft usar solo la herramienta de prueba para probar aplicaciones bot?

No. Siempre se recomienda a los usuarios probar su aplicación de bot en el cliente de Teams antes de mover la aplicación al entorno de producción.
 

Ejemplo de código

Ejemplo de nombre Descripción Node.js
Aplicación de ejemplo de herramienta de prueba Una aplicación de bot de ejemplo para explorar la herramienta de prueba. View

Guía paso a paso

Siga la guía paso a paso para depurar un bot de chat de IA mediante la herramienta de prueba de aplicaciones de Teams.

Vea también