【RPA之家UiPath官方教程】变量,数据类型和控制流
本课程涵盖使用任何软件过程中基本的三种构造:变量,参数和控制流。
受众:RPA开发人员
学习目标
在本课程结束时,您应该能够:
区分UiPath中最常用的变量和参数类型;
创建自动化项目中所需的变量,并根据规范配置其属性;
使用控制流的概念来构建可靠且有效的自动化项目;
区分UiPath中使用的最常见的控制流语句(If语句,Loops和Switch),并根据规范进行配置。
关于本课程
介绍
本课程涵盖了两个单独的构造,它们是任何软件过程中的基础:
变量和参数,或如何在各种活动和工作流程之间收集,存储,处理和传递数据;
控制流,或在整个过程中如何执行活动,指令和函数调用。
受众:RPA开发人员
课程时间:4小时
完成课程的要求:通过最低80%的分数通过课程测验
先决条件:
基本编程知识
RPA开发人员角色课程简介
学习目标
在本课程结束时,您将能够:
1区分UiPath中最常用的变量和参数类型;
2创建自动化项目中所需的变量,并根据规范配置其属性;
3使用控制流的概念来构建可靠且有效的自动化项目;
4区分UiPath中使用的最常见的控制流语句(If语句,Loops和Switch),并根据规范进行配置。
注意:本课程是使用UiPath Studio 2019.7创建的。最新的Community Edition版本中的某些元素可能有所不同。
使用说明
在浏览本课程时,请记住以下几点:
1您可以按任何顺序学习这些课程,也可以随时对其进行复习。
2要完成课程,您必须一直向下滚动页面。指示下一课的按钮将变为可见。
3每个视频下方使用的项目都可以下载。
4视频将使用内置播放器播放。请按照以下说明习惯视频播放器的基本功能。
变量和参数
变量是可以容纳相同数据类型的多个数据条目(值)的容器。 例如,emailAddress可以是一个变量,其值为“ rpadeveloper@uipath.com”。 变量的值可以通过外部输入,数据操作或从一种活动传递到另一种活动来更改。
变量通过它们的属性进行配置。 您可以在“变量”面板中进行设置。 UiPath的主要属性是:
--名称
它应尽可能具有描述性,以使您的自动化易于被其他开发人员阅读并节省时间。
--类型
定义可以在变量中存储的数据类型。 在UiPath中,类型是在创建变量时声明的,但是有些特定类型更通用,可以容纳不同类型的数据。 下面是有关变量类型的更多信息。
--默认值
通常,变量的初始值会在整个过程中发生变化。 如果在创建变量时未分配任何初始值,则通常会有一个默认规则来分配一个值。
--范围
工作流中可以使用变量的部分。 一些变量可以是全局变量,其他变量可以是局部变量。 在实际的自动化方案中,有许多变量在使用。 使多个变量不必要地全局化可能会导致效率问题以及混乱的可能性。
UiPath中的开发人员不会处理必须使用其他编程语言进行管理的其他属性(例如生存期或内存位置)。
创建变量
在UiPath中有3种创建变量的方法:
1.在“变量”面板中–打开“变量”面板,选择“创建新变量”选项,然后根据需要填写字段。 需要时,在“设计器”面板或所需的“属性”字段中提供其名称。
2.在“设计器”面板中–拖移一个可见变量字段(即“分配”)的活动,然后按Ctrl + K。 将其命名,然后在“变量”面板中检查其属性。
3.在“属性”面板中–在活动的“属性”面板中,将光标放在需要变量的字段(即“输出”)中,然后按Ctrl + K。 将其命名,然后在“变量”面板中检查其属性。
创建变量的良好习惯
使用清晰一致的命名约定-最常见的命名约定之一是Camel大小写(词组中间的每个单词均大写)
确保正确定义每个变量的范围-请记住,在有限范围内定义的变量不能全局使用。 同时,在实际的自动化方案中,仅在变量的使用范围内定义变量至关重要。 使多个变量不必要地全局化可能会导致效率问题以及混乱的可能性。
参数
在UiPath中,变量的范围不能超出定义它的工作流程。 由于业务自动化项目很少由单个工作流程组成,因此必须使用参数。
参数与变量非常相似–它们动态存储数据,具有相同的数据类型,并且支持相同的方法。 区别在于它们在工作流之间传递数据,并且为此具有一个附加属性-数据传递的方向。 方向可以是输入,输出和输入/输出。
数据类型
除了一些例外情况,我们将分别讨论,UiPath中的数据类型是从VB.Net借用的。 以下是一些最常用的方法:
--数字类型
用于存储数字。数值变量有不同的子类型:
Int32-System.Int32(有符号整数):10、299,-100、0x69
Long-System.Int64(长整数):5435435343O,-11332424D
Double-System.Double(允许小数,15-16位精度):19.1234567891011
--布尔型
System.Boolean:用于存储两个值之一-true或false。
--日期和时间(类别)
DateTime-System.DateTime:用于存储特定的时间坐标(mm / dd / yyyy hh:mm:ss)。这种变量提供了一系列特定的处理方法(减去天数,计算剩余时间与今天的比较等等)。例如,要获取当前时间,请将表达式DateTime.Now分配给DateTime类型的变量。
TimeSpan-System.TimeSpan:用于存储有关持续时间(dd:hh:mm:ss)的信息。您可以使用它来测量两个DateTime类型的变量之间的持续时间。例如,您可以将过程开始时的时间保存在一个变量(日期时间类型)中,将结束时的时间保存在另一个变量中(日期时间类型),并将差异存储在时间跨度类型的变量中。
--字符串
System.String:用于存储文本。这种类型的数据具有许多特定的处理方法,并将在另一课程“数据操作”中深入探讨。
--集合(类别)
该类别重新组合了所有对象集合,每个对象通过其在集合中的索引进行标识。集合主要用于处理和处理复杂数据。一些最常遇到的收藏是:
Array-ArrayOf <T>或System.DataType []:用于存储相同数据类型的多个值。大小(对象数)是在创建时定义的;
List-System.Collections.Generic.List <T>:用于存储相同数据类型的多个值,就像数组一样。与数组不同,它们的大小是动态的。
字典-System.Collections.Generic.Dictionary <TKey,TValue>:用于以(键,值)对的形式存储对象,其中两者中的每一个可以是单独的数据类型。
我们将在本课程的后面部分介绍数组,并在数据处理课程中更详细地介绍列表和字典。
--通用类型
这是UiPath专有变量类型,可以存储任何类型的数据,包括文本,数字,日期和数组。此类型主要用于我们不确定要接收哪种数`据的活动,但是通常使用此类型是临时的。
请记住,上面介绍的类型列表不是完整列表,而是最常用的类型列表。 在特定情况下可以使用其他类型。 在浏览或搜索时,您将在System和System.Collections类别下找到其中的大多数。
在某些情况下,变量是由活动自动生成的,并且变量的类型可能会有所不同-例如,定位并存储图形元素的活动将自动生成UiElement类型的变量。
数组变量
到目前为止,大多数示例都是简单变量,可以一次存储一个值。 是时候从数组变量开始研究集合变量了。
它是什么?
数组变量是一种变量,可以存储同一数据类型的多个值。 可以将其视为一组具有在创建时定义的大小的元素,并且可以通过其索引来标识每个项目。
在UiPath Studio中,您可以创建数字,字符串,布尔值等的数组。
我将在哪些业务场景中使用阵列?
当我们要将月份的名称保存到变量中时
当必须存储固定的银行帐户集合并在付款过程中使用时
当必须处理上个月支付的所有发票时
当必须在数据库中验证某个部门的雇员姓名时.
通用值变量
在开发自动化过程时,有些情况下您不确定要检索哪种类型的数据。 为了找出答案,您需要使用一个变量进行一些测试,该变量应具有足够广泛的频谱,可以捕获任何类型的输入。 我们建议在此处临时使用GenericValue变量。
它是什么?
GenericValue(UiPath.Core.GenericValue)变量是UiPath特有的一种变量,可以存储任何类型的数据,包括文本,数字,日期和数组。
UiPath Studio具有GenericValue变量的自动转换机制,您可以通过仔细定义它们的表达式来指导所需的结果。 请注意,表达式中的第一个元素用作Studio执行操作的准则。 例如,当您尝试添加两个GenericValue变量时,如果表达式中的第一个变量定义为String,则结果是两个变量的串联。 如果将其定义为Integer,则结果为它们的总和。
我将在哪些业务场景中使用GenericValue变量?
从UI字段中提取数据,然后将其转发到另一个工作流而不进行处理
同一Excel文件的两个版本正在逐列进行比较。 列的数据类型不同,唯一相关的是哪些条目有更改
控制流概述
它是什么?
它是在软件项目中执行或评估各个语句,指令或函数调用的顺序。
制定控制流程有两个概念:
自动化项目类型
工作流有4种预定义的类型 - 序列,流程图,状态机和全局异常处理程序。
我们将在“项目组织”课程中深入介绍它们,现在,让我们集中讨论序列和流程图之间的区别,因为我们将在整个课程的示例中广泛使用这两者。
1.在序列中,处理步骤将连续进行。 决策树很少使用。 顺序活动易于阅读和维护,因此强烈建议将其用于简单的线性工作流程。
2.在流程图中,单个活动很难阅读和编辑,但是它们之间的流程更加清晰。 当需要决策点和分支以适应复杂的场景,解决方法和决策机制时,请使用流程图。
控制流语句
用于定义工作流程执行期间要做出的决定的活动和方法。 最常见的控制流语句是if / else决策,循环和开关。 让我们一一关注。
它是什么?
在UiPath中,If语句正是您期望的样子:
已验证的条件(有2个潜在结果–对或错)
条件为真时要执行的一组操作(然后分支)
条件为假时要执行的一组操作(其他分支)
不同之处在于,根据所选的自动化项目类型,有两个相应的活动可以满足If语句的作用:
序列中的If语句
流程图中的流程决策
此外,如果决定可以用作活动内部的运算符。
我将在哪些业务场景中使用If语句?
每当有两个并非任意的操作过程时,很可能会使用If语句:
分别检查付款状态(已完成/未完成)并执行一系列操作
确保序列中先前操作的结果成功
检查帐户余额以确保有足够的钱来支付发票
检查系统中是否发生了某些事情,例如是否存在元素或图像,并基于此执行操作。
循环
这些是什么?
循环是基于给定条件的一组操作的重复。 在UiPath中,最重要的循环是:
--Do While
满足条件时执行特定的序列。 每次执行语句后都会评估条件。
例如,机器人可以在网站上执行刷新命令,然后检查是否加载了相关元素。 它将继续刷新-检查周期,直到元素被加载。
--While
满足条件时执行特定的序列。 在每次执行语句之前先评估条件。
在许多情况下,它可以与Do While互换,唯一的区别是进行条件验证的时间。 但是在某些情况下,一个比另一个更可取。 例如,如果一个机器人玩二十一点,它应该先计算手牌,然后再决定是否再抓一张牌。
--For Each
它对集合的每个元素执行一个活动或一系列活动。
这在数据处理中非常有用。 考虑一个整数数组。 对于每个,机器人可以检查每个数字项是否满足特定条件。
Switch
它是什么?
这是一种控制流语句,它根据特定表达式的值执行多个语句中的一组。 换句话说,当我们需要至少3个潜在的操作过程时,我们使用它代替If语句。 这是通过条件完成的,与If语句不同,该条件不是布尔值,而是多个。
我将在哪些业务场景中使用Switch?
具有3个潜在状态(未开始,待处理,已批准)的发票,每个发票有3套操作
根据特定条件自动向4个供应商订购原材料的过程