前言:【【非原创】】UiPath Advanced RPA Developer Certification Training的课程资料机翻版。
课程链接:Link
1 关于本课程
在本课程中,您将了解何时以及如何使用状态机工作流布局及其特定活动。
了解状态机布局是使用机器人企业框架模板和自动化更复杂流程的关键步骤。
您将在本课程中学到什么
在本课程结束时,您将能够:
- 解释什么是状态机。
- 将状态机布局与序列和流程图区分开来。
- 解释何时应该使用状态机。
- 列出状态内步骤的执行顺序。
- 根据给定的要求构建基于状态机的流程。
2 工作流设计—概述
现在第一件事!从一开始就为您的工作流选择正确的布局不仅可以实现快速、轻松的开发,而且还可以为您提供更好地扩展和管理的方法。
2.1 Layout Diagrams 布局图
UiPath 提供了三个图表,用于在开发工作流文件时将活动集成到工作结构中。
2.1.1 Sequence
序列具有从上到下流动的简单线性表示,最适合活动相互跟随的简单场景。
例如,它们在 UI 自动化中很有用,当导航和键入一次单击/击键时发生。由于序列易于组装和理解,因此它们是大多数工作流程的首选布局。
2.1.2 Flowcharts 流程图
流程图为连接活动提供了更大的灵活性,并倾向于以简单的二维方式布置工作流。流程图最重要的方面是,与序列不同,它们呈现多个分支逻辑运算符,使您能够创建复杂的业务流程并以多种方式连接活动。
流程图往往用于包含多个决策点的工作流。
2.1.3 State Machine 状态机
一些进程更好地表示为互连的状态,它们在必要时一次又一次地执行。在每个状态中执行一组活动,然后评估条件以确定要转换到下一个状态。例如,旋转门是一个状态机,至少具有以下状态:空闲、允许访问、拒绝访问和关闭。
- 在空闲状态下,当机器等待access card时,门被锁定。当有人出示access card时,机器会评估是否必须接受该卡。
- 如果卡被接受,旋转门转换到准入状态,其中门打开以允许一个人进入。在人员进入或经过一段时间后,机器转换回空闲状态。
- 如果卡被拒绝,旋转门会转换为“拒绝访问”状态,此时会显示此消息并且大门保持锁定状态。经过一段时间后,机器会转换回Idle state空闲状态。
- 当技术人员输入正确的代码时,机器将转换为关闭状态Off state。
在 Studio 中,状态机工作流布局可让您根据有限数量的状态和转换设计事件驱动的流程。这种布局应该用于复杂和连续过程的高级项目组织。出于这个原因,状态机通常在 Main.xaml 中用于 RPA 框架,如机器人企业框架。
文档
3 理解状态机
3.1 现实生活中的状态机
为了更好地掌握状态机相关概念,我们将看一下恒温控制空调的表示。
在使用空调 UI 之前,请务必阅读说明:
- 使用开/关按钮…
使用开/关按钮启动或停止空调。启动时,空调将进入空闲状态。 - 将所需温度写入…
在“所需温度”中写下所需温度。字段并单击“设置”。请注意,工作范围在 15 到 30 度之间,因此任何低于 15 或高于 30 的值将分别转换为 15 和 30。 - 设定温度后,…
设置温度后,空调将切换到 HEAT 或 COLD 状态。当达到所需温度时,它会显示在“当前温度”下,空调将返回空闲状态。
3.2 状态机 - 工作流演练
让我们分析一下作为 Studio 自动化项目的空调示例是什么样的。
在 AC 工作流中,有三个简单的状态(Idle State, Heat State, and Cold State)、一个最终状态(关闭)和几个基于设置条件导航状态的转换。
- 当所需温度 = 当前温度时,从空闲状态到空闲状态。
- 当所需温度 > 当前温度时,空闲状态到加热状态。
- 当所需温度 < 当前温度时,空闲状态到冷状态。
- 热状态和冷状态,一旦达到所需温度,将返回空闲状态。
- “空闲状态”到“关闭”,当用户单击“确定”并且用户输入值为“关闭”或“无”时。
3.3 关于状态
因为它直接链接到 Start 节点,所以“空闲状态”是用户在自动化开始后登陆的地方。它可能看起来类似于“主菜单”。在这里,它始终是首选状态(除非选择关闭机器)。
- The Entry block包含进入状态时要执行的活动。
- The Exit block包含退出状态时要执行的活动。
- The Transitions block可让您添加将在进入和退出时执行的活动。
Transition(s) 部分根据用户输入显示所有下一个目的地。
3.3.1 关于Transitions
当您在状态机容器内将一个状态链接到另一个状态或最终状态时,就会创建Transitions。
正如所观察到的,转换到“目标”状态(例如加热状态)的条件是“DesiredTemperature”变量值高于“CurrentTemperature”值。
📘注意:当空调开启时,空调要么处于转换中,要么处于某个状态,因为空调过程是连续的。
3.3.2 最终状态
当用户键入“OFF”时,状态机转换到结束进程的状态。此类状态可在 Studio 中的** Workflow > State Machine > Final State**下找到。在我们的工作流程中,它被命名为“关闭”并在停止自动化过程之前记录消息“AC正在关闭…”。
📘注意:您只能创建一个初始状态,但可能有多个最终状态。所有状态机都必须包含一个初始状态和至少一个最终状态。
4 在 Studio 中使用状态机工作流创建流程
到目前为止,您已经通过与空调 UI 交互来观察状态机的概念。之后,您又进一步分析了 Studio 中的实际工作流程。
接下来,您将了解在 Studio 中创建状态机的端到端流程。
视频演示 - 状态机
在本视频中,您将了解在保留用户选项的同时自动付款的步骤。
视频抄本
对于关键要点:
- 我们可以从“活动”面板添加状态机布局、状态和最终状态。
- 使用状态机时,必须有一个最终状态。
- State 活动包含三个部分,Entry、Exit 和 Transitions,而 Final State 仅包含一个部分 Entry。
- Entry 和 Exit 部分使我们能够为所选状态添加进入和退出触发器,而 Transition(s) 部分显示链接到所选状态的所有转换。
- 我们可以通过在 Designer 面板中连接状态并为它们提供名称和条件来添加转换。
关于状态机的重要说明
- 在状态机中命名状态对于维护和未来开发非常重要;
- 在 UiPath Studio 中,每个状态中显示的转换顺序非常重要,因为它与评估它们的顺序相匹配。
State Machines - UiPath Studio Guide
5 练习-创建自动售货机
- 创建一个模拟自动售货机的工作流。功能应该如下:
- 要求用户选择初始信用($5、$10、$20)。
- 如果他们选择了初始金额,他们会被问到他们想要什么饮料:咖啡(3 美元)或茶(2 美元)。
- 接下来,自动售货机应该检查用户是否有足够的信用来购买所选择的饮料。
- 如果是,则显示成功消息并从总金额中减去饮料价格以显示剩余积分。然后询问用户他/她是想再买一杯还是去拿零钱。
- 如果否,则用户将转换到最终状态,其中显示一个消息框,其中包含要返回的可用金额和一条再见消息。
- 如果他们选择找零,用户将转换到最终状态,在该状态中会显示一个消息框,其中包含要退还的可用金额和一条再见消息。
序列图
Demo