- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 控制流程
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 日志记录
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 编码自动化
- 基于触发器的 Attended 自动化
- 录制
- 用户界面元素
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix 技术自动化
- RDP 自动化
- VMware Horizon 自动化
- Salesforce 自动化
- SAP 自动化
- macOS 用户界面自动化
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 扩展程序
- 测试套件 - Studio
- 故障排除
远程调试
自动化在不同计算机上的表现可能有所不同。如果要在生产环境中运行自动化的计算机的配置与设计该自动化的计算机不同(例如,该计算机具有不同的硬件或软件、不同的权限或处于隔离的网络中),则应使用该计算机上的机器人测试并调试流程。
使用远程调试,您可以在部署到远程计算机的机器人(包括可以运行跨平台项目的 Linux 机器人)上运行和调试有人值守和无人值守的流程。
您可以使用以下其中一种连接类型连接到远程机器人:
- 远程计算机 - 与远程计算机上的机器人建立 TCP/IP 连接。
- 无人值守机器人 - 使用 Orchestrator 连接到同一租户中的无人值守机器人。
要使用远程计算机连接远程运行或调试项目,请执行以下操作:
- 确保满足所有先决条件。
- 在远程计算机上,配置机器人以接受远程调试请求。
-
如果在 Orchestrator 中强制执行交互式身份验证,并且您想运行或调试无人值守的流程,请确保远程机器人满足以下条件之一:
- 已使用交互式登录连接到 Orchestrator。
- 已使用客户端凭据或计算机密钥进行连接,且用户也已从 Assistant 登录。
- 已使用客户端凭据或计算机密钥建立连接,没有用户从 Assistant 登录,并且已在计算机的 Orchestrator 中启用了故障排除会话。有关更多信息,请参阅调试无人值守流程。
-
在 Studio 中:
- 设置与远程机器人的连接。
- 确保已启用远程执行。
- 运行或调试项目。
在将远程机器人用于调试之前,必须配置该计算机上的 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
- 将额外信息记录到控制台。
- 对于 Windows 机器人 -
-
显示以下消息:
Robot on machine <hostname> is waiting for remote debugging instructions on port <port_number>
- 记下主机名和端口号值,在 Studio 中设置连接时必须提供这些值。
在机器人处于远程调试状态时,无法从 Orchestrator 或本地 Assistant 执行任何有人值守或无人值守作业。您甚至可以向未经许可安装机器人的计算机发送远程调试命令。
要使用连接到 Orchestrator 的无人值守机器人远程运行或调试项目,请执行以下操作:
- 确保满足所有先决条件。
- 设置与远程机器人的连接。
- 确保已启用远程执行。
- 运行或调试项目。
- Studio 和目标机器人已连接到同一 Orchestrator 租户。
- 远程机器人的版本与 Studio 相同。
- Studio、目标机器人和 Orchestrator 正在运行 2021.10 版或更高版本。
- 登录到 Studio 的用户有权启动作业,以及在与目标机器人相同的文件夹上下文中创建和删除存储桶和存储文件。此外,机器人帐户必须具有存储桶和存储文件的查看权限。
-
已配置 Unattended Robot,并且计算机具有以下可用运行时许可证的其中一个:Unattended、NonProduction 或 Testing。
注意:Orchestrator 2022.4 及更高版本支持测试用于远程调试的运行时。 - 在调试前台流程时,系统会在 Orchestrator 中为机器人启用“运行前台自动化”选项。
- 如果使用故障排除会话,则只能在将机器人连接到 Orchestrator 后启用该会话。
- 在 Studio 中,选择“调试”选项卡。
- 在功能区中,选择“远程调试”下的箭头,然后选择“远程调试设置”。
- 从“连接类型”下拉列表中,选择“无人值守机器人”。
-
要使用 从 Studio 状态栏中选择的 Orchestrator 文件夹中的任何已连接计算机,请单击“ 保存”。 如果要选择要连接的计算机,请使用以下选项:
- “用户”- 选择将无人值守机器人分配给 Orchestrator 文件夹的帐户。
- “计算机”- 从 Orchestrator 文件夹中选择计算机或模板。
-
“主机名”- 从已连接的计算机列表中选择一台计算机。
-
“显示实时流”- 选择以查看机器人执行的操作。有关更多信息,请参阅实时流和远程控制。
注意:如果在 Orchestrator 中对帐户设置进行了更改,请使用 Studio 状态栏中的按钮刷新 Orchestrator 连接,以便将其反映在此窗口中。
建立远程调试连接后,单击功能区中的“远程调试”按钮可在远程执行和本地执行之间切换。在选择运行或调试操作之前,请确保已启用所需选项(远程或本地)。
-
只要该按钮以灰色突出显示,所有运行和调试操作(“调试文件”、“运行文件”、“调试项目”、“运行项目”、“进入/跳过/退出”,“测试活动”、“运行至此活动/从此活动运行”)都将在远程机器人上执行。
-
只要该按钮未以灰色突出显示,所有运行和调试操作都将在本地机器人上执行。
远程调试体验类似于本地调试体验,并且可用于本地调试的所有功能也可用于远程调试。当通过“调试”选项卡触发的远程执行正在进行时,Studio 状态栏将显示为绿色。
根据用于远程调试的连接类型,远程机器人会获取执行项目所需的活动包,如下所示:
- 远程计算机连接 - Studio 将项目依赖项和活动订阅源(包来源)的列表发送到远程机器人,然后远程机器人将使用 Studio 提供的订阅源下载所需的包。
- Unattended Robot 连接 - Studio 仅将项目依赖项列表发送到远程机器人,然后远程机器人将使用 Orchestrator 订阅源和远程机器人上配置的活动订阅源下载所需的包。
- 使用远程计算机连接时,如果暂停调试的时间较长,Studio 中可能会发生“连接已关闭”错误,即使远程计算机上的连接似乎仍处于活动状态。为避免此问题,您可以增加云端或本地负载均衡器中的 TCP 空闲超时。
- 仅 Unattended Robot 连接支持远程调试长时间运行的工作流。
- 使用无人值守机器人连接时,选择“画中画”选项不会在单独的会话中启动执行作业。
- 仅当在服务模式下部署 Unattended Robot 上的机器人服务时,“显示实时流”选项才有效。有关更多信息,请参阅机器人服务。
- 只有 Automation Cloud Orchestrator 和 Automation Suite Orchestrator 支持“显示实时流”选项。