Teams 应用测试工具 (测试工具) 使调试基于机器人的应用变得轻松。 你可以与机器人聊天,并在Microsoft Teams 中查看其消息和自适应卡片。 无需Microsoft 365 开发人员帐户、隧道或 Teams 应用和机器人注册即可使用测试工具。
下图显示了一个示例应用,其中显示了一个自适应卡片,其中包含测试工具中的命令列表。 它还提供命令的说明,以便你无需手动搜索代码即可测试应用:
以下是测试工具的优点:
沙盒环境:测试工具的沙盒环境模拟 Teams 的行为、外观和用户体验。
隧道:不需要外部隧道服务,因为测试工具在机器人可以与之通信的本地服务器上运行。
减少帐户依赖项:调试机器人不需要Microsoft 365 开发人员租户和应用上传权限。
快速内部循环迭代:优化对应用设计和机器人逻辑进行更改的过程,而无需将机器人重新部署到云。
模拟数据和活动:使用测试工具可以轻松测试复杂方案,例如,在新成员加入通道时,使用模拟数据和活动触发器发送欢迎消息。
可靠:测试工具可靠,因为机器人的自适应卡片使用与 Teams 中的相同呈现技术。
与现有 Teams 机器人应用程序集成:测试工具毫不费力地与使用 Bot Framework SDK 构建的现有 Teams 机器人应用程序集成。
支持不同范围:测试工具支持在个人、团队和群组聊天范围内进行测试。
确保安装以下工具,用于在测试工具中生成和部署机器人:
测试工具是具有名为 的 CLI 命令的 npm 包。 运行 时,它会在本地计算机上打开一个模拟 Teams Web 客户端和 Bot Framework 服务的 Web 应用。 此 Web 应用不需要任何云资源,因为它使用模拟数据来模拟 Teams 的上下文信息。
若要在测试工具上使用 Teams 机器人,需要提供:
- 消息终结点:机器人消息终结点是链接测试工具和机器人的 URL。 可以使用环境变量更新终结点, 也可以使用默认值 。
- 配置文件 (可选) :配置文件告知测试工具 Teams 中的自定义上下文信息。 该文件在项目的根文件夹中名为 .teamsapptesttool.yml 。 如果 Teams 找不到此文件,它将使用默认配置。 有关详细信息,请参阅 自定义 Teams 上下文。
与 Teams 客户端相比,测试工具为机器人应用程序提供了更快的调试体验。
可以使用活动触发器在测试工具中模拟活动。 有两种类型的活动触发器:
- 预定义的活动触发器
- 自定义活动触发器
测试工具提供预定义的活动触发器来测试机器人的功能。
卸载机器人
添加机器人
添加通道
删除机器人
删除频道
删除团队
重命名团队
在测试工具的 模拟活动 菜单中提供了预定义的活动触发器。
若要模拟 “添加用户” 活动,请执行以下步骤:
在“测试工具”中,转到 “模拟活动 ”,然后选择“ 添加用户”。
此时将显示一个弹出窗口,用于预览活动处理程序。
选择“ 发送活动”。
机器人发送响应。
可以使用 自定义活动 来自定义活动触发器,例如 , 以满足机器人应用的要求。 测试工具会自动填充活动的必需属性。 还可以修改活动类型并添加更多属性。
选择模拟 活动>自定义活动。
添加 以在 属性 下自定义活动并调用自定义活动。
选择“ 发送活动”。
机器人在响应中发送 处理程序。
项目根文件夹中的配置文件允许你自定义 Teams 上下文信息,例如聊天、团队和用户。 该文件提供模拟数据,用于测试 Bot Framework API 或 Bot Builder SDK 方法,例如 。
测试工具在项目的根文件夹中包含一个内置配置文件。
如果机器人代码使用 Bot Framework API,则可以修改配置文件以更改 API 响应。 让我们考虑在团队中安装的 Azure DevOps 通知机器人,该机器人从 Azure DevOps 提取非活动 bug。 它标识非活动 bug 的所有者,提取其电子邮件地址,并每天向其个人聊天发送通知。
若要在测试工具中全面测试此机器人,更新配置文件以使用非活动 bug 所有者的正确电子邮件地址至关重要。
转到 项目的根文件夹中的文件。
转到 部分并更新 所需用户的 、 和 。
保存文件,然后选择 F5 以在测试工具中进行调试。
必须认识到更新配置文件有三个主要影响:
- 它会影响从 Bot Framework 连接器 API 获取的响应, 例如 。
- 它塑造活动有效负载中的详细信息,例如 。
- 它会影响测试工具中的用户界面,例如群聊名称。
通过 Teams 应用清单启用的机器人功能不可用,因为测试工具不会处理它。
测试工具不支持除自适应卡片以外的所有类型的卡片。
测试工具不支持以下自适应卡片功能:
- 类型头搜索
- 用户提及
- Stageview
- 全宽
测试工具不支持以下体验:
- 移动设备
- 会议
测试工具可以模拟以下体验:
功能 在测试工具中调试 在本地调试 Teams 应用 基本发送/接收消息 可用 可用 Bot Framework API (TeamsInfo.getPagedMembers () ...) 可用 (使用模拟数据) 进行响应 可用 发送 Teams 事件 可用的 (模拟活动) 可用 键入指示器 不可用 可用 选项卡、消息扩展、对话 (TeamsJS v1.x) 中称为任务模块、单一登录 (SSO) 和非自适应卡 不可用 可用
确保已使用 Teams 工具包创建现有机器人。 若要使用测试工具调试机器人,请执行以下步骤:
在 Teams 工具包中打开现有机器人的项目文件夹。
转到 EXPLORER.vscode>。
选择 “launch.json ”,并在文件末尾添加以下代码:
转到 tasks.json 并在文件末尾添加以下代码:
在 “资源管理器”下,创建 .localConfigs.testtool 文件并添加以下代码:
转到 资源管理器>env。
创建 .env.testtool 文件并添加以下代码:
如果有自定义环境变量,请在 .env.testtool 或 .env.testtool.user 中设置其值。
在 .env.testtool.user 中添加 OpenAI 密钥或 Azure OpenAI 密钥和终结点。
转到 package.json 并在 属性下 添加以下代码:
在左窗格中,选择“ 运行和调试 () 并在下拉列表 中选择”在测试工具中调试 ”。
测试工具成功调试现有机器人。
如果测试工具不支持其功能,如何测试机器人?
你始终可以使用 Teams 客户端来测试测试测试工具不支持的功能。 选择“ 在 Teams (Edge) 中调试”或“ 在 Teams (Chrome) 中调试 ”选项,在 Teams 客户端中测试应用程序。
如何知道测试工具是否不支持机器人中的功能?
测试工具在检测到不支持的功能时,在对话和日志面板中显示警告消息。
Microsoft是否建议仅使用测试工具来测试机器人应用程序?
不正确。 我们始终建议用户在将应用程序移动到生产环境之前在 Teams 客户端中测试其机器人应用程序。