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:
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 dehttp://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.
Abrir Visual Studio Code.
Seleccione el icono Kit de herramientas de Teams en la barra de actividad de Visual Studio Code.
Seleccione Crear una nueva aplicación.
Seleccione Bot.
Seleccione Bot de chat de IA. Si necesita una funcionalidad diferente para el bot, elija una opción diferente.
Seleccione JavaScript.
Seleccione Carpeta predeterminada.
Para cambiar la ubicación predeterminada, siga estos pasos:
Seleccione Examinar.
Seleccione la ubicación del área de trabajo del proyecto.
Seleccione Seleccionar carpeta.
Escriba un nombre adecuado para la aplicación y, a continuación, seleccione la tecla Entrar .
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.
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.La herramienta de prueba abre el bot en una página web.
Desencadenadores de actividad
Puede simular una actividad en la herramienta de prueba mediante desencadenadores de actividad. Hay dos tipos de desencadenadores de actividad:
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:
En Herramienta de prueba, vaya a Simular una actividad y seleccione Agregar usuario.
Aparece una ventana emergente para obtener una vista previa del controlador de actividad.
Seleccione Enviar actividad.
El bot envía una respuesta.
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.
Seleccione Simular unaactividad personalizada de actividad>.
Agregue
messageReaction
para personalizar la actividad en la propiedadtype
e invocar la actividad personalizada.{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }
Seleccione Enviar actividad.
El bot envía un
onReactionsAdded
controlador en respuesta.
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.
Vaya al
.teamsapptesttool.yml
archivo de la carpeta raíz del proyecto.Vaya a la
users
sección y actualice ,name
userPrincipleName
yemail
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
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:
Abra la carpeta del proyecto del bot existente en el kit de herramientas de Teams.
Vaya a EXPLORER.vscode>.
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 }, ] }
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" } }, ], }
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
Vaya a EXPLORADOR>env.
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
Si tiene variables de entorno personalizadas, establezca sus valores en .env.testtool o .env.testtool.user.
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/>
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", ... },
En el panel izquierdo, seleccione Ejecutar y depurar (
Ctrl+Shift+D
) y seleccione Depurar en Herramienta de prueba en la lista desplegable.
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.
¿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.