- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 控制流程
- 对象存储库
- 日志记录
- ScreenScrapeJavaSupport 工具
- Studio 测试
- 扩展程序
- 故障排除
自动化在不同计算机上的表现可能有所不同。如果要在生产环境中运行自动化的计算机的配置与设计该自动化的计算机不同(例如,该计算机具有不同的硬件或软件、不同的权限或处于隔离的网络中),则应使用该计算机上的机器人测试并调试流程。
使用远程调试,您可以在部署到远程计算机的机器人(包括可以运行跨平台项目的 Linux 机器人)上运行和调试有人值守和无人值守的流程。
您可以使用以下其中一种连接类型连接到远程机器人:
- 远程计算机 - 与远程计算机上的机器人建立 TCP/IP 连接。
- 无人值守机器人 - 使用 Orchestrator 连接到同一租户中的无人值守机器人。
Using remote debugging requires that the project is open in Studio. If you are using source control, to make sure you are working with the latest project version, we recommend enabling the Enforce Check-In before Publish design setting.
远程计算机连接
要使用远程计算机连接远程运行或调试项目,请执行以下操作:
- 确保满足所有先决条件。
- 在远程计算机上,配置机器人以接受远程调试请求。
- 如果在 Orchestrator 中强制执行交互式身份验证,并且您想运行或调试无人值守的流程,请确保远程机器人满足以下条件之一:
- 已使用交互式登录连接到 Orchestrator。
- 已使用客户端凭据或计算机密钥进行连接,且用户也已从 Assistant 登录。
- 使用客户端凭据或计算机密钥连接,不会有任何用户从 Assistant 登录,并且在计算机的 Orchestrator 中启用了故障排除会话。 有关更多信息,请参阅“调试无人值守的流程”。
- 在 Studio 中:
- 设置与远程机器人的连接。
- 确保已启用远程执行。
- 运行或调试项目。
先决条件
- Studio 计算机和远程计算机之间存在 TCP/IP 连接。
- 远程机器人的版本与 Studio 相同。
- 兼容的 .NET Framework 已安装在远程计算机上。
在远程计算机上配置机器人
在将远程机器人用于调试之前,必须配置该计算机上的 UiPath.RemoteDebugging.Agent 实用程序,以接受来自 Studio 的远程调试请求:
-
导航到安装目录:
- 对于 Windows 机器人 - 在 UiPath 安装文件夹中打开命令提示符(对于按计算机安装的情形,默认为
%PROGRAMFILES%\UiPath\Studio,按用户安装的情形则为%localappdata%\Programs\UiPath\Studio)。 - 对于 Linux 机器人 - 从命令行终端导航到
/root/application。 - 对于 macOS 机器人 - 从 zsh 导航到
/Applications/UiPath Assistant.app/Contents/Robot。
- 对于 Windows 机器人 - 在 UiPath 安装文件夹中打开命令提示符(对于按计算机安装的情形,默认为
-
运行以下命令:
-
对于 Windows 机器人 -
UiPath.RemoteDebugging.Agent.exe enable --port <port_number> --password <pasword> --verbose -
对于 Linux 机器人 -
~/application # dotnet ./UiPath.RemoteDebugging.Agent.dll enable --port <port_number> --password <pasword> --verbose -
对于 macOS 机器人 -
dotnet UiPath.RemoteDebugging.Agent.dll enable --port <port_number> --password <pasword> --verbose命令中的参数都是可选的:
-
--port <port_number>- 输入用于从 Studio 接收远程调试命令的端口。如果未提供任何端口,则默认使用端口 8573。该端口必须在防火墙中打开,并且尚未与其他应用程序绑定。
-
--password <password>- 输入在设置与远程调试代理的连接时必须在 Studio 中提供的密码。 -
--verbose- 将额外信息记录到控制台。
-
-
显示以下消息:
Robot on machine <hostname> is waiting for remote debugging instructions on port <port_number> -
记下主机名和端口号值,在 Studio 中设置连接时必须提供这些值。
在机器人处于远程调试状态时,无法从 Orchestrator 或本地 Assistant 执行任何有人值守或无人值守作业。您甚至可以向未经许可安装机器人的计算机发送远程调试命令。
设置远程计算机连接
-
在 Studio 中,选择“调试”选项卡。
-
在功能区中,选择“远程调试”下的箭头,然后选择“配置远程调试”以打开“远程调试设置”窗口。
-
从“连接类型”下拉列表中,选择“远程计算机”。
-
在相应的框中提供以下信息:
- “主机”- 远程计算机的主机名或 IP 地址。
- “端口”- 要使用的端口。默认端口为 8573。
- “密码”- 在机器人计算机上配置远程调试代理时提供的密码(如适用)。
-
(可选)要确保可以使用当前设置建立连接,请单击“测试连接”。
-
单击“保存”。
无人值守机器人连接
要使用连接到 Orchestrator 的无人值守机器人远程运行或调试项目,请执行以下操作:
- 确保满足所有先决条件。
- 设置与远程机器人的连接。
- 确保已启用远程执行。
- 运行或调试项目。
先决条件
-
Studio 和目标机器人已连接到同一 Orchestrator 租户。
-
Studio、目标机器人和 Orchestrator 正在运行 2021.10 版或更高版本。对于机器人,2021.10.6 是从 2021.10.6 开始的 Studio 版本运行项目所需的最低版本。
-
登录到 Studio 的用户有权启动作业,以及在与目标机器人相同的文件夹上下文中创建和删除存储桶和存储文件。此外,机器人帐户必须具有存储桶和存储文件的查看权限。
-
已配置 Unattended Robot,并且计算机具有以下可用运行时许可证的其中一个:Unattended、NonProduction 或 Testing。
备注:Orchestrator 2022.4 及更高版本支持测试运行时以进行远程调试。
-
在调试前台流程时,系统会在 Orchestrator 中为机器人启用“运行前台自动化”选项。
-
如果使用故障排除会话,则只能在将机器人连接到 Orchestrator 后启用该会话。
设置无人值守机器人连接
- 在 Studio 中,选择“调试”选项卡。
- 在功能区中,选择“远程调试”下的箭头,然后选择“远程调试设置”。
- 从“连接类型”下拉列表中,选择“无人值守机器人”。
- To use any connected machine that is available in the Orchestrator folder selected from the Studio status bar, click Save. If you want to select the machine to connect to, use the following options:
-
“用户”- 选择将无人值守机器人分配给 Orchestrator 文件夹的帐户。
-
“计算机”- 从 Orchestrator 文件夹中选择计算机或模板。
-
“主机名”- 从已连接的计算机列表中选择一台计算机。
备注:如果对 Orchestrator 中的帐户设置进行了更改,请使用 Studio 状态栏中的按钮刷新 Orchestrator 连接,以便在此窗口中反映更改。
-
远程执行
建立远程调试连接后,单击功能区中的“远程调试”按钮可在远程执行和本地执行之间切换。在选择运行或调试操作之前,请确保已启用所需选项(远程或本地)。
-
只要该按钮以灰色突出显示,所有运行和调试操作(“调试文件”、“运行文件”、“调试项目”、“运行项目”、“进入/跳过/退出”,“测试活动”、“运行至此活动/从此活动运行”)都将在远程机器人上执行。
-
只要该按钮未以灰色突出显示,所有运行和调试操作都将在本地机器人上执行。
远程调试体验类似于本地调试体验,并且可用于本地调试的所有功能也可用于远程调试。当通过“调试”选项卡触发的远程执行正在进行时,Studio 状态栏将显示为绿色。
根据用于远程调试的连接类型,远程机器人会获取执行项目所需的活动包,如下所示:
- 远程计算机连接 - Studio 将项目依赖项和活动订阅源(包来源)的列表发送到远程机器人,然后远程机器人将使用 Studio 提供的订阅源下载所需的包。
- Unattended Robot 连接 - Studio 仅将项目依赖项列表发送到远程机器人,然后远程机器人将使用 Orchestrator 订阅源和远程机器人上配置的活动订阅源下载所需的包。
已知限制
- 使用远程计算机连接时,如果暂停调试的时间较长,Studio 中可能会发生“连接已关闭”错误,即使远程计算机上的连接似乎仍处于活动状态。为避免此问题,您可以增加云端或本地负载均衡器中的 TCP 空闲超时。
- 仅 Unattended Robot 连接支持远程调试长时间运行的工作流。
- 使用无人值守机器人连接时,选择“画中画”选项不会在单独的会话中启动执行作业。
关闭远程调试连接
要禁用远程调试连接,请在没有正在进行的调试执行时,打开“远程调试设置”窗口,将“连接类型”设置为“禁用”,然后选择“保存”。