调试工具使您可以对包含嵌套任务的复杂自动化进行故障排除。 在父级内部调试父级和单个子级 bots,以快速发现并详细解决问题。 您可以单独检查每个子自动化,确保自动化的每个部分都正常运行,从而实现更高效和可靠的自动化流程。

使用调试工具

自动化页面中,选择并编辑您想要调试的 bot。 您可以通过助手工具或从 Bot editor 访问调试工具。

访问调试工具

当您从 Bot editor 调用调试工具时:
  • 您可以在 bot 中添加、更新或删除 actions 和变量。 只要调试过程尚未开始,您就可以继续编辑 bot
  • 当您开始调试时,一个紫色标题栏会出现在 Bot editor 中的 bot 名称下方,显示正在调试,后接当前正在调试的 bot 名称。
  • 标题栏还会显示 bots 的层次堆栈列表,与调用堆栈中显示的相同。 您可以从此 bots 的堆栈列表导航到特定的 bot,并检查您已进入以访问当前子级 bot 的行。 标题栏还显示了一个链接,您可以单击该链接导航到当前 bot 以继续调试,以防您从当前 bot 导航离开。
  • 在标题栏下方,将显示与助手中相同的调试控件,以便快速访问和控制调试。
  • Bot editor 左侧的操作面板会自动折叠。 这有助于提供更多的水平区域来查看调试时添加在 Bot editor 中的 actions。 调试停止后,操作面板会再次展开。
注:
  • 调用调试器并不会开始调试。
  • 在开始调试之前,请确保修复 bots 中的所有验证错误。
  • 您可以在流程列表视图中调试 bot。 但是,为了更好地查看您的 actions,我们建议您在列表视图中调试 bot
当您从 Bot editor、API 编辑器或模板编辑器中打开助手实用工具,并将其移动到特定位置时,即使您退出编辑器,编辑器也会保留助手实用工具的最后位置。 默认情况下,助手实用工具的位置将对应于您在退出编辑器之前最后移动到的位置:
  • 即使用户会话超时或浏览器被意外关闭。
  • 即使您从不同的浏览器打开编辑器或使用相同的用户凭据登录到不同的会话。

这提高了助手的可用性,因为您不再需要每次在编辑器中打开 bot 时都将助手移到编辑器的右侧以查看 Actions 面板。

调试控件

注:
  • 您可以介入的子级 bots 数量没有限制。
  • Bot Agent(版本 22.60.23 及更高版本)和 Task Bot package(版本 2.8.0-20230530-152744 及更高版本)均支持子级 bot 调试功能。
操作 图标 键盘快捷方式 描述
开始调试 开始按钮 F6 使用开始调试来启动调试过程。
跳转至下一个操作 跳过按钮 F7 使用跳转至下一步操作来逐个调试 action。 在调试完当前的 action 之后,您可以使用跳转至下一个操作移动到序列中的下一个 action
继续到下一个断点 继续到下一个断点按钮 F6 使用继续到下一个断点可直接移动到下一个断点。 继续到下一个断点执行当前的 action,然后移动到下一个断点并暂停。
注: 当调试正在进行时,开始调试图标会变为继续到下一个断点
跳入当前操作 跳入 F8 使用跳入当前操作可进入子级 bot 进行调试。 跳入当前操作仅在使用 TaskBot > 运行 action 调用子 bot 时启用。
从当前机器人跳出 跳出按钮 Shift + F8 使用从当前机器人中跳出可在调试后跳出子级 bot,并在您跳入的 bot 的下一行暂停。
注: 只有在跳入子级 bot 后,跳出当前机器人才会启用。
停止调试 停止按钮 Shift + F6 使用停止调试来停止调试过程。

调用堆栈

调用堆栈帮助您轻松确定 bots 被调用的顺序,并快速从一个 bot 导航到另一个。 调用堆栈列出当前处于活动状态的自动化,包括父级和子级 bots,以及它们所在的行号和文件夹。 当前处于活动状态的 bot 将突出显示在列表顶部。

调用堆栈使您能够从错误的起源追踪其路径,以了解错误是如何发生的。 这有助于识别问题的根源,特别是在具有多层嵌套的复杂自动化中。

当您进入时,子级 bot 被添加到调用堆栈中。 当您退出子级 bot 或完成子级 bot 的调试时,bot 将从调用堆栈中移除。 父级 bot 现在成为正在调试的当前 bot

根据您在调用堆栈中选中的 bot观察变量将显示该选中 bot 的变量。 然后,您可以从监视变量列表中选择变量以查看其当前值。

调用堆栈视图

断点

调试中的断点是允许您在程序或自动化的特定点暂停执行的工具。 这使您能够检查应用程序的当前状态,包括监控的变量和执行流程,以确保您的自动化行为符合预期。

断点控件

启用父级和子级 bots 中的断点可以让您在 bot 运行期间暂停调试过程,以检查监视变量的值和自动化的当前状态。 要暂停并排查特定的 action,您可以在该特定的 action 处插入一个断点。 这对于涉及多个任务或子级自动化的复杂且长时间运行的流程非常有用。

查看下表以了解如何启用和禁用断点。
操作 图标和键盘快捷方式 描述
启用断点

启用断点按钮

F9

要插入断点,请单击特定代码行上的垂直省略号,然后并选择启用断点

或者,您也可以通过单击特定的行号来启用断点。 这会在行号顶部显示一个断点图标。

注: 当您为特定代码行启用断点时,调试工具会将其高亮显示,并在代码行右侧用暂停按钮标记。
禁用断点

禁用断点按钮

F9

要禁用断点,请单击特定代码行上的垂直省略号,然后选择禁用断点。 断点变成禁用状态。 此外,您还可以单击特定行号上方的断点图标来禁用它。
清除所有断点

清除所有断点按钮

Shift + F9

要清除所有断点,请单击清除所有断点图标。

如何使用断点进行调试

当您启用断点时,正在调试的特定 action 会被高亮显示,并带有暂停标志。 在添加断点以暂停调试工具后,您可以继续到下一个断点跳过到下一个操作进入当前操作,或停止调试过程。

在调试时添加到特定 bot 的断点会自动保存,确保即使您关闭并重新打开自动化或在不同的调试会话之间切换,所有断点也会被保留。
注:
  • 签入特定的 bot 不会创建 bot 的新版本,因为它不再被修改。
  • 复制 bot 不会复制断点。

添加到第 2 行的断点

您可以在调试过程中动态设置断点。 例如,如果您想检查现有子级 bot 的父级 bot 的状态,您可以通过调用堆栈导航到该 bot,并根据需要在父级 bot 中添加断点。 启用断点后,当您单击继续到下一个断点选项时,bot 将暂停在下一个断点处,即您刚刚添加的断点。

让我们来探讨一个场景,在调试自动化时,您在特定的 bots 中启用断点,并观察其行为。
  1. 假设您正在自动化客户入职流程,并为此流程创建了三个 bots,即客户数据收集器 bot,其中包含一个验证过程 bot,而该过程又包含一个欢迎沟通器 bot
  2. 欢迎沟通器 bot 中您希望调试暂停的位置启用一个断点。
  3. 单击开始调试图标。

    bot 将自动进入欢迎沟通器 bot 并在设置的断点处暂停。

  4. 跳出欢迎沟通器 bot

    您会注意到,自动化会直接在客户数据收集器 bot 处暂停。

    注: 当从任何特定的 bot 中跳出时,bot 理想情况下应该在紧接着您从其父级 bot 进入的那一行处暂停。 然而,在此场景中,您并没有明确地进入欢迎沟通器 bot;而是由于断点自动进入的。
  5. 同样,在欢迎沟通器 bot 的最后一行执行跳过时,bot 将直接在 客户端数据收集器 bot 处暂停。

有关调试工具的详细信息,请参阅 Leveraging code analysis and debug tool to improve and optimize your automation development