测试和调试 Microsoft Teams 机器人

重要

本文基于 v3 Bot Framework SDK。 如果要查找 SDK 的当前文档 4.6 或更高版本,请参阅 对话机器人 部分。

测试机器人时,必须考虑希望运行机器人的上下文 () ,以及可能已添加到机器人的任何需要特定于 Microsoft Teams 的数据的功能。 确保选择用于测试机器人的方法与其功能保持一致。

通过上传到 Teams 进行测试

测试机器人的最全面方法是创建应用包并将其上传到 Teams。 将应用上传到 Teams 是跨所有范围测试机器人可用的完整功能的唯一方法。

有两种方法用于上传应用。 可以使用 适用于 Teams 的开发人员门户 ,也可以手动 创建应用包上传应用。 如果需要更改清单并重新加载应用,则应在上传已更改的应用包之前 删除机器人

在本地调试机器人

如果在开发期间在本地托管机器人,则需要使用 ngrok 等隧道服务来测试机器人。 下载并安装 ngrok 后,运行以下命令以启动隧道服务。 可能需要将 ngrok 添加到路径。

ngrok http <port> --host-header=localhost:<port>

使用应用清单中 ngrok 提供的 https 端点。 如果关闭命令窗口并重启,你将获得一个新 URL,并且还需要更新机器人终结点地址以使用该 URL。

测试机器人而不上传到 Teams

有时需要测试机器人,而无需将其作为应用安装到 Teams 中。 我们提供了两种测试方法。 测试机器人而不将其作为应用安装,对于确保机器人可用和响应非常有用,但它不允许你测试可能已添加到机器人的 Teams 功能的全部范围。 如果需要完全测试机器人,请按照通过上传进行测试说明操作。

使用机器人仿真器

Bot Framework Emulator 是一个桌面应用程序,允许机器人开发人员在本地或远程测试和调试其机器人。 使用该仿真器,可以与机器人聊天并检查机器人发送和接收的消息。 这可用于验证机器人是否可用并做出响应,但模拟器不允许测试已添加到机器人的任何特定于 Teams 的功能,机器人的响应也不会准确直观地表示它们在 Teams 中的呈现方式。 如果需要测试其中任一项,则最好不要上传机器人

可在此处找到有关 Bot Framework Emulator 的完整说明。

直接按 ID 与机器人交谈

重要

按 ID 与机器人交谈仅用于测试目的。

还可以使用机器人的 ID 启动与机器人的对话。 下面提供了两种执行此操作的方法。 通过以下方法之一添加机器人时,无法在频道对话中寻址,并且你无法利用其他 Microsoft Teams 应用功能,例如选项卡或消息扩展。

  1. 在机器人的“机器人仪表板”页面上,在“频道”下,选择“添加到 Microsoft Teams”。 Teams 将通过与机器人的个人聊天启动。
  2. 在 Teams 中直接引用机器人的应用 ID:
    • 在机器人的“机器人仪表板”页面上,在“详细信息”下,复制机器人的“Microsoft 应用 ID”。

      机器人仪表板

    • 在 Teams 中的“ 聊天 ”窗格中,选择“ 添加聊天 ”图标。 对于 To:,粘贴机器人的 Microsoft 应用 ID。

      上传机器人的 AppID

      应用 ID 应解析为机器人名称。

    • 选择机器人并发送消息以启动对话。

    • 或者,可以将机器人的应用 ID 粘贴到 Microsoft Teams 左上角的搜索框中。 在搜索结果页中,转到“人员”选项卡以查看机器人并开始与机器人聊天。

机器人将收到 conversationUpdate 事件,就像添加到团队中的机器人一样,但没有 channelData 对象中的团队信息。

在个人聊天中阻止机器人

用户可以选择阻止机器人发送个人聊天消息。 他们可以通过在聊天频道中右键单击机器人并选择“阻止机器人对话”来进行切换。 这意味着机器人将继续发送消息,但用户不会收到这些消息。

阻止机器人

从团队中删除机器人

用户可以通过在其团队视图中的机器人列表中选择垃圾桶图标来删除机器人。 请注意,这只会从该团队的使用中删除机器人,单个用户可以在个人上下文中进行交互。

用户不能禁用或删除个人上下文中的机器人,而不能从 Teams 中完全删除机器人。

在 Teams 中禁用机器人

若要停止机器人接收消息,请转到“机器人仪表板”并编辑 Microsoft Teams 通道。 清除”在 Microsoft Teams 上启用”选项。 在 Teams 中禁用机器人会阻止用户与机器人交互,但它仍可被发现,用户可以将其添加到团队。

从 Teams 中删除机器人

若要从 Teams 中完全删除机器人,请转到“机器人仪表板”并编辑 Microsoft Teams 通道。 选择底部的”删除”按钮。 从 Teams 中删除机器人会阻止用户发现、添加机器人或与机器人交互。 从 Teams 中删除机器人不会从其他用户的 Teams 实例中删除机器人,但也会停止为这些机器人运行。

从 AppSource 中删除机器人

如果要在 AppSource(以前称为 Office 应用商店)中从 Teams 应用删除机器人,则必须从应用清单中删除机器人并重新提交应用以进行验证。 有关详细信息,请参阅将 Microsoft Teams 应用发布到 AppSource