- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 录制
- 用户界面元素
- 控制流程
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix 技术自动化
- RDP 自动化
- SAP 自动化
- VMware Horizon 自动化
- 日志记录
- ScaleCoordinates 迁移工具
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- StudioPro
- 扩展程序
- 故障排除

Studio 用户指南
UiPath 提供四个图表,用于在开发工作流文件时将活动集成到工作结构中:
- 流程图
- 序列
- 状态机
- 全局异常处理程序
序列
序列包含简单的线性表示,从上到下,最适合于活动前后相连的简单场景。例如,在导航和键入一次发生一个单击/击键的情况下,序列在用户界面自动化中非常有用。因为序列易于组合和理解,所以是大多数工作流的首选布局。
流程图
流程图为连接活动提供了更大的灵活性,并且往往以简单的二维方式来布局工作流。由于它的自由形式和视觉吸引力,流程图最适合展示某一流程中的决策点。箭头可以指向任何地方,这与非结构化的“GoTo”编程语句非常类似,因此造成了大型工作流容易出现活动的混乱交织。
状态机
状态机是一个相当复杂的结构,可以看作是一个带有条件箭头的流程图,也称为转换。它支持更紧凑的逻辑表示,我们发现它适合于事务业务流程模板的标准高级流程图。
全局异常处理程序
异常处理程序设计用于小型和大型自动化项目,用于识别执行错误,最重要的是,在发生此类错误时确定工作流行为。如果调试过程中遇到执行错误,则可能会将全局异常处理程序设置为“跳入”,并允许您根据异常处理程序中先前设置的选项来检查工作流的行为。
决策需要在工作流中实现,以使机器人能够在数据处理和应用程序交互的各种情况下做出不同的反应。选择条件及其后续分支的最合适表示方式会在很大程度上影响工作流的可视化结构和可读性。
“If 条件”活动
“If 条件”活动可垂直分解一个序列,最适合简短的平衡线性分支。需要以“If… Else If”方式链接更多条件时,就会遇到挑战。特别是当分支的宽度或高度超过可用的屏幕大小时。作为一般准则,应避免嵌套“If 条件”语句,以使工作流保持简单/线性。
流程决策
与嵌套“If 条件”语句或“If… Else If”构造函数类似,流程图布局有利于展示重要的业务逻辑和相关条件。在某些情况下,即使在序列中,流程图似乎也不错。
在可见性和生命周期方面,数据有两种形式:参数和变量。虽然参数的目的是将数据从一个工作流传递到另一个工作流,但是变量被绑定到单个工作流文件中的容器,并且只能在本地使用。
变量范围
参数在工作流文件中随处可见,而变量则不同,变量仅在定义了变量的容器中可见,称为范围。
变量应该保持在最内部的范围内,目的有两个:减少“变量”面板中的杂乱;在自动完成中仅显示工作流中特定点的相关内容。
参数
请记住,当使用“隔离”选项(该选项在单独的 [系统流程][1] 中开始运行工作流)调用工作流时,只有可序列化的类型可以用作参数,将数据从一个流程传递到另一个流程。例如,“安全字符串”、“浏览器”和“终端连接”对象无法安全地跨越流程间边界。
默认值
变量和输入参数可以使用某些默认静态值进行初始化。这在单独测试工作流时非常方便,不需要来自调用工作流或其他外部源的实际输入数据。
应该为工作流文件、活动、参数和变量分配有意义的名称,以便准确描述它们在整个项目中的用法。
项目应包含有意义的说明,因为它们也会显示在 Orchestrator 用户界面中,并且可能会在多用户环境中有所帮助。
为了提高可读性,变量和参数的名称还应遵循以下命名惯例:
- 蛇型命名法:
First1_Name2
、first_name2
。 - 大/小驼峰命名法:
FirstName
、lastName
。 - 帕斯卡命名法:
First1Name2
、First1Name
。 - 烤串命名法:
First-Name
、First-Name1
。
in_DefaultTimeout
、in_FileName
、out_TextResult
、io_RetryNumber
。
活动名称应该简明地反映所采取的操作,例如,单击“保存”按钮。保留标题中描述动作的部分(“单击”、“键入信息”、“存在元素”等)。
除了“主要”之外,所有工作流名称都应该包含描述工作流任务的动词,例如“获取事务数据”、“处理事务”和“拍摄屏幕截图”。
您应使用“注释”活动和“批注”更详细地描述一项技巧或者特定交互或应用程序行为的特殊性。请记住,在某个时刻,其他人可能会遇到一个机器人项目,您可以尝试让他们更容易理解这个过程。