使用 IDE 在本地测试和调试机器人

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

通过上传到 Teams 进行测试

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

有两种方法用于上传应用:

注意

若要更改清单并重新上传应用,请在上传已更改的应用包之前删除机器人。 若要测试机器人,请在 Teams 中启用自定义应用上传。 请参阅 启用自定义应用上传

我们不建议在同一机器人 ID 下上传具有不同内容的多个应用。 这可能会导致不可预知的机器人行为。 删除或卸载应用的任何早期版本,确保仅上传最新版本。 如果应用共享相同的机器人 ID,请在应用包中分配必要的权限。 此外,在应用权限策略和托管应用中激活两个应用,确保它们不会被阻止。 否则可能会导致应用使用期间出现问题。

在本地调试机器人

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

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

应用清单中使用 ngrok 提供的 https 终结点。

注意

如果关闭命令窗口并重新启动,将生成一个新的 URL,你需要更新机器人终结点地址才能使用该 URL。

在不上传到 Teams 的情况下测试机器人

有时需要测试机器人,而无需将其作为应用安装到 Teams 中。 我们提供了两种测试机器人的方法。 测试机器人而不将其作为应用安装,对于确保机器人可用并做出响应非常有用。 但是,它不允许你测试已添加到机器人的 Microsoft Teams 功能的全部范围。 若要全面测试机器人,请参阅通过上传进行测试

使用机器人仿真器

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

有关详细信息,请参阅有关 Bot Framework Emulator 的完整说明

直接通过 ID 与机器人交谈

重要

  • 通过 ID 与机器人交谈仅用于基本测试目的。 添加到机器人的任何特定于 Teams 的功能都无法正常工作。
  • 从 2024 年 1 月 31 日起,用户无法与未连接到 Microsoft Teams 应用的机器人聊天,例如通过 Bot Framework 或 Power Virtual Agents 创建的 Azure 机器人。 建议使用 开发人员门户创建连接到 Azure 机器人的新 Teams 应用,将其发布到 Teams,并允许用户使用 应用权限策略安装应用。 如果要测试应用,可以向用户分配 应用设置策略 ,该策略允许通过聊天的直接链接上传自定义应用并与 Azure 机器人聊天。

使用机器人 ID 启动与机器人的对话。 通过以下方法之一添加机器人时,无法在频道对话中寻址机器人,并且你无法利用其他 Teams 应用功能,例如选项卡或消息扩展。 通过以下方式之一启动对话:

  • 在机器人的“机器人仪表板”页面上,在“频道”下,选择“添加到 Microsoft Teams”。 Teams 会启动与机器人的个人聊天。

  • 在 Teams 中直接引用机器人的应用 ID:

    1. 转到 机器人仪表板>详细信息 ,并复制机器人的 Microsoft 应用 ID

      屏幕截图显示了详细信息页中的 Microsoft 应用 ID。

    2. 打开 Microsoft Teams,在“聊天”窗格中,选择“ 新建聊天 ”图标。 在“ 目标: ”中,输入机器人的 Microsoft 应用 ID。

      屏幕截图显示了 Teams 中的“新建聊天”图标和“To”字段。

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

    3. 选择机器人并发送消息以发起对话。 或者,可以将机器人的应用 ID 粘贴到 Teams 左上角的搜索框中。 在搜索结果页中,转到“人员”选项卡以查看机器人并开始与机器人聊天。

注意

若要使 Teams 引用机器人的应用 ID,请启用 自定义应用上传

将机器人添加到团队时,机器人会收到 conversationUpdate 事件,而 channelData 对象中没有团队信息。

在个人聊天中阻止机器人

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

屏幕截图显示个人聊天中的“阻止机器人对话”选项。

从团队中删除机器人

用户可以通过在其团队视图中的机器人列表中选择垃圾桶图标来删除机器人。 这只会从该团队的使用中删除机器人。 单个用户仍然可以在个人上下文中交互。 用户无法在个人上下文中删除或禁用机器人。

在 Teams 中禁用机器人

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

从 Teams 中删除机器人

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

另请参阅