【RPA之家UiPath官方教程】變量,數(shù)據(jù)類型和控制流
本課程涵蓋使用任何軟件過程中基本的三種構(gòu)造:變量,參數(shù)和控制流。
受眾:RPA開發(fā)人員
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您應(yīng)該能夠:
區(qū)分UiPath中最常用的變量和參數(shù)類型;
創(chuàng)建自動(dòng)化項(xiàng)目中所需的變量,并根據(jù)規(guī)范配置其屬性;
使用控制流的概念來構(gòu)建可靠且有效的自動(dòng)化項(xiàng)目;
區(qū)分UiPath中使用的最常見的控制流語句(If語句,Loops和Switch),并根據(jù)規(guī)范進(jìn)行配置。
?
關(guān)于本課程
介紹
本課程涵蓋了兩個(gè)單獨(dú)的構(gòu)造,它們是任何軟件過程中的基礎(chǔ):
變量和參數(shù),或如何在各種活動(dòng)和工作流程之間收集,存儲(chǔ),處理和傳遞數(shù)據(jù);
控制流,或在整個(gè)過程中如何執(zhí)行活動(dòng),指令和函數(shù)調(diào)用。
受眾:RPA開發(fā)人員
?
課程時(shí)間:4小時(shí)
?
完成課程的要求:通過最低80%的分?jǐn)?shù)通過課程測驗(yàn)
?
先決條件:
基本編程知識(shí)
RPA開發(fā)人員角色課程簡介
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您將能夠:
1區(qū)分UiPath中最常用的變量和參數(shù)類型;
2創(chuàng)建自動(dòng)化項(xiàng)目中所需的變量,并根據(jù)規(guī)范配置其屬性;
3使用控制流的概念來構(gòu)建可靠且有效的自動(dòng)化項(xiàng)目;
4區(qū)分UiPath中使用的最常見的控制流語句(If語句,Loops和Switch),并根據(jù)規(guī)范進(jìn)行配置。
注意:本課程是使用UiPath Studio 2019.7創(chuàng)建的。最新的Community Edition版本中的某些元素可能有所不同。
使用說明
在瀏覽本課程時(shí),請記住以下幾點(diǎn):
1您可以按任何順序?qū)W習(xí)這些課程,也可以隨時(shí)對其進(jìn)行復(fù)習(xí)。
2要完成課程,您必須一直向下滾動(dòng)頁面。指示下一課的按鈕將變?yōu)榭梢姟?/p>
3每個(gè)視頻下方使用的項(xiàng)目都可以下載。
4視頻將使用內(nèi)置播放器播放。請按照以下說明習(xí)慣視頻播放器的基本功能。
變量和參數(shù)
變量是可以容納相同數(shù)據(jù)類型的多個(gè)數(shù)據(jù)條目(值)的容器。?例如,emailAddress可以是一個(gè)變量,其值為“ rpadeveloper@uipath.com”。 變量的值可以通過外部輸入,數(shù)據(jù)操作或從一種活動(dòng)傳遞到另一種活動(dòng)來更改。
變量通過它們的屬性進(jìn)行配置。?您可以在“變量”面板中進(jìn)行設(shè)置。 UiPath的主要屬性是:
--名稱
它應(yīng)盡可能具有描述性,以使您的自動(dòng)化易于被其他開發(fā)人員閱讀并節(jié)省時(shí)間。
--類型
定義可以在變量中存儲(chǔ)的數(shù)據(jù)類型。?在UiPath中,類型是在創(chuàng)建變量時(shí)聲明的,但是有些特定類型更通用,可以容納不同類型的數(shù)據(jù)。 下面是有關(guān)變量類型的更多信息。
--默認(rèn)值
通常,變量的初始值會(huì)在整個(gè)過程中發(fā)生變化。?如果在創(chuàng)建變量時(shí)未分配任何初始值,則通常會(huì)有一個(gè)默認(rèn)規(guī)則來分配一個(gè)值。
--范圍
工作流中可以使用變量的部分。?一些變量可以是全局變量,其他變量可以是局部變量。 在實(shí)際的自動(dòng)化方案中,有許多變量在使用。 使多個(gè)變量不必要地全局化可能會(huì)導(dǎo)致效率問題以及混亂的可能性。
?
UiPath中的開發(fā)人員不會(huì)處理必須使用其他編程語言進(jìn)行管理的其他屬性(例如生存期或內(nèi)存位置)。
?
創(chuàng)建變量
在UiPath中有3種創(chuàng)建變量的方法:
1.在“變量”面板中–打開“變量”面板,選擇“創(chuàng)建新變量”選項(xiàng),然后根據(jù)需要填寫字段。?需要時(shí),在“設(shè)計(jì)器”面板或所需的“屬性”字段中提供其名稱。
2.在“設(shè)計(jì)器”面板中–拖移一個(gè)可見變量字段(即“分配”)的活動(dòng),然后按Ctrl + K。 將其命名,然后在“變量”面板中檢查其屬性。
3.在“屬性”面板中–在活動(dòng)的“屬性”面板中,將光標(biāo)放在需要變量的字段(即“輸出”)中,然后按Ctrl + K。 將其命名,然后在“變量”面板中檢查其屬性。
?
創(chuàng)建變量的良好習(xí)慣
使用清晰一致的命名約定-最常見的命名約定之一是Camel大小寫(詞組中間的每個(gè)單詞均大寫)
確保正確定義每個(gè)變量的范圍-請記住,在有限范圍內(nèi)定義的變量不能全局使用。 同時(shí),在實(shí)際的自動(dòng)化方案中,僅在變量的使用范圍內(nèi)定義變量至關(guān)重要。 使多個(gè)變量不必要地全局化可能會(huì)導(dǎo)致效率問題以及混亂的可能性。
?
參數(shù)
在UiPath中,變量的范圍不能超出定義它的工作流程。 由于業(yè)務(wù)自動(dòng)化項(xiàng)目很少由單個(gè)工作流程組成,因此必須使用參數(shù)。
參數(shù)與變量非常相似–它們動(dòng)態(tài)存儲(chǔ)數(shù)據(jù),具有相同的數(shù)據(jù)類型,并且支持相同的方法。?區(qū)別在于它們在工作流之間傳遞數(shù)據(jù),并且為此具有一個(gè)附加屬性-數(shù)據(jù)傳遞的方向。 方向可以是輸入,輸出和輸入/輸出。
數(shù)據(jù)類型
除了一些例外情況,我們將分別討論,UiPath中的數(shù)據(jù)類型是從VB.Net借用的。 以下是一些最常用的方法:
--數(shù)字類型
用于存儲(chǔ)數(shù)字。數(shù)值變量有不同的子類型:
Int32-System.Int32(有符號(hào)整數(shù)):10、299,-100、0x69
Long-System.Int64(長整數(shù)):5435435343O,-11332424D
Double-System.Double(允許小數(shù),15-16位精度):19.1234567891011
?
--布爾型
System.Boolean:用于存儲(chǔ)兩個(gè)值之一-true或false。
?
--日期和時(shí)間(類別)
DateTime-System.DateTime:用于存儲(chǔ)特定的時(shí)間坐標(biāo)(mm / dd / yyyy hh:mm:ss)。這種變量提供了一系列特定的處理方法(減去天數(shù),計(jì)算剩余時(shí)間與今天的比較等等)。例如,要獲取當(dāng)前時(shí)間,請將表達(dá)式DateTime.Now分配給DateTime類型的變量。
TimeSpan-System.TimeSpan:用于存儲(chǔ)有關(guān)持續(xù)時(shí)間(dd:hh:mm:ss)的信息。您可以使用它來測量兩個(gè)DateTime類型的變量之間的持續(xù)時(shí)間。例如,您可以將過程開始時(shí)的時(shí)間保存在一個(gè)變量(日期時(shí)間類型)中,將結(jié)束時(shí)的時(shí)間保存在另一個(gè)變量中(日期時(shí)間類型),并將差異存儲(chǔ)在時(shí)間跨度類型的變量中。
?
--字符串
System.String:用于存儲(chǔ)文本。這種類型的數(shù)據(jù)具有許多特定的處理方法,并將在另一課程“數(shù)據(jù)操作”中深入探討。
?
--集合(類別)
該類別重新組合了所有對象集合,每個(gè)對象通過其在集合中的索引進(jìn)行標(biāo)識(shí)。集合主要用于處理和處理復(fù)雜數(shù)據(jù)。一些最常遇到的收藏是:
Array-ArrayOf <T>或System.DataType []:用于存儲(chǔ)相同數(shù)據(jù)類型的多個(gè)值。大小(對象數(shù))是在創(chuàng)建時(shí)定義的;
List-System.Collections.Generic.List <T>:用于存儲(chǔ)相同數(shù)據(jù)類型的多個(gè)值,就像數(shù)組一樣。與數(shù)組不同,它們的大小是動(dòng)態(tài)的。
字典-System.Collections.Generic.Dictionary <TKey,TValue>:用于以(鍵,值)對的形式存儲(chǔ)對象,其中兩者中的每一個(gè)可以是單獨(dú)的數(shù)據(jù)類型。
?
我們將在本課程的后面部分介紹數(shù)組,并在數(shù)據(jù)處理課程中更詳細(xì)地介紹列表和字典。
--通用類型
這是UiPath專有變量類型,可以存儲(chǔ)任何類型的數(shù)據(jù),包括文本,數(shù)字,日期和數(shù)組。此類型主要用于我們不確定要接收哪種數(shù)`據(jù)的活動(dòng),但是通常使用此類型是臨時(shí)的。
?
請記住,上面介紹的類型列表不是完整列表,而是最常用的類型列表。?在特定情況下可以使用其他類型。 在瀏覽或搜索時(shí),您將在System和System.Collections類別下找到其中的大多數(shù)。
在某些情況下,變量是由活動(dòng)自動(dòng)生成的,并且變量的類型可能會(huì)有所不同-例如,定位并存儲(chǔ)圖形元素的活動(dòng)將自動(dòng)生成UiElement類型的變量。
?
數(shù)組變量
到目前為止,大多數(shù)示例都是簡單變量,可以一次存儲(chǔ)一個(gè)值。?是時(shí)候從數(shù)組變量開始研究集合變量了。
它是什么?
數(shù)組變量是一種變量,可以存儲(chǔ)同一數(shù)據(jù)類型的多個(gè)值。?可以將其視為一組具有在創(chuàng)建時(shí)定義的大小的元素,并且可以通過其索引來標(biāo)識(shí)每個(gè)項(xiàng)目。
在UiPath Studio中,您可以創(chuàng)建數(shù)字,字符串,布爾值等的數(shù)組。
?
我將在哪些業(yè)務(wù)場景中使用陣列?
當(dāng)我們要將月份的名稱保存到變量中時(shí)
當(dāng)必須存儲(chǔ)固定的銀行帳戶集合并在付款過程中使用時(shí)
當(dāng)必須處理上個(gè)月支付的所有發(fā)票時(shí)
當(dāng)必須在數(shù)據(jù)庫中驗(yàn)證某個(gè)部門的雇員姓名時(shí).
?
通用值變量
在開發(fā)自動(dòng)化過程時(shí),有些情況下您不確定要檢索哪種類型的數(shù)據(jù)。?為了找出答案,您需要使用一個(gè)變量進(jìn)行一些測試,該變量應(yīng)具有足夠廣泛的頻譜,可以捕獲任何類型的輸入。 我們建議在此處臨時(shí)使用GenericValue變量。
它是什么?
GenericValue(UiPath.Core.GenericValue)變量是UiPath特有的一種變量,可以存儲(chǔ)任何類型的數(shù)據(jù),包括文本,數(shù)字,日期和數(shù)組。
UiPath Studio具有GenericValue變量的自動(dòng)轉(zhuǎn)換機(jī)制,您可以通過仔細(xì)定義它們的表達(dá)式來指導(dǎo)所需的結(jié)果。 請注意,表達(dá)式中的第一個(gè)元素用作Studio執(zhí)行操作的準(zhǔn)則。 例如,當(dāng)您嘗試添加兩個(gè)GenericValue變量時(shí),如果表達(dá)式中的第一個(gè)變量定義為String,則結(jié)果是兩個(gè)變量的串聯(lián)。 如果將其定義為Integer,則結(jié)果為它們的總和。
?
我將在哪些業(yè)務(wù)場景中使用GenericValue變量?
從UI字段中提取數(shù)據(jù),然后將其轉(zhuǎn)發(fā)到另一個(gè)工作流而不進(jìn)行處理
同一Excel文件的兩個(gè)版本正在逐列進(jìn)行比較。 列的數(shù)據(jù)類型不同,唯一相關(guān)的是哪些條目有更改
?
控制流概述
它是什么?
它是在軟件項(xiàng)目中執(zhí)行或評估各個(gè)語句,指令或函數(shù)調(diào)用的順序。
制定控制流程有兩個(gè)概念:
自動(dòng)化項(xiàng)目類型
工作流有4種預(yù)定義的類型?- 序列,流程圖,狀態(tài)機(jī)和全局異常處理程序。
我們將在“項(xiàng)目組織”課程中深入介紹它們,現(xiàn)在,讓我們集中討論序列和流程圖之間的區(qū)別,因?yàn)槲覀儗⒃谡麄€(gè)課程的示例中廣泛使用這兩者。
1.在序列中,處理步驟將連續(xù)進(jìn)行。?決策樹很少使用。 順序活動(dòng)易于閱讀和維護(hù),因此強(qiáng)烈建議將其用于簡單的線性工作流程。
2.在流程圖中,單個(gè)活動(dòng)很難閱讀和編輯,但是它們之間的流程更加清晰。?當(dāng)需要決策點(diǎn)和分支以適應(yīng)復(fù)雜的場景,解決方法和決策機(jī)制時(shí),請使用流程圖。
?
控制流語句
用于定義工作流程執(zhí)行期間要做出的決定的活動(dòng)和方法。?最常見的控制流語句是if / else決策,循環(huán)和開關(guān)。 讓我們一一關(guān)注。
它是什么?
在UiPath中,If語句正是您期望的樣子:
已驗(yàn)證的條件(有2個(gè)潛在結(jié)果–對或錯(cuò))
條件為真時(shí)要執(zhí)行的一組操作(然后分支)
條件為假時(shí)要執(zhí)行的一組操作(其他分支)
不同之處在于,根據(jù)所選的自動(dòng)化項(xiàng)目類型,有兩個(gè)相應(yīng)的活動(dòng)可以滿足If語句的作用:
序列中的If語句
流程圖中的流程決策
此外,如果決定可以用作活動(dòng)內(nèi)部的運(yùn)算符。
?
我將在哪些業(yè)務(wù)場景中使用If語句?
每當(dāng)有兩個(gè)并非任意的操作過程時(shí),很可能會(huì)使用If語句:
分別檢查付款狀態(tài)(已完成/未完成)并執(zhí)行一系列操作
確保序列中先前操作的結(jié)果成功
檢查帳戶余額以確保有足夠的錢來支付發(fā)票
檢查系統(tǒng)中是否發(fā)生了某些事情,例如是否存在元素或圖像,并基于此執(zhí)行操作。
?
循環(huán)
這些是什么?
循環(huán)是基于給定條件的一組操作的重復(fù)。?在UiPath中,最重要的循環(huán)是:
--Do While
滿足條件時(shí)執(zhí)行特定的序列。?每次執(zhí)行語句后都會(huì)評估條件。
例如,機(jī)器人可以在網(wǎng)站上執(zhí)行刷新命令,然后檢查是否加載了相關(guān)元素。?它將繼續(xù)刷新-檢查周期,直到元素被加載。
--While
滿足條件時(shí)執(zhí)行特定的序列。?在每次執(zhí)行語句之前先評估條件。
在許多情況下,它可以與Do While互換,唯一的區(qū)別是進(jìn)行條件驗(yàn)證的時(shí)間。 但是在某些情況下,一個(gè)比另一個(gè)更可取。 例如,如果一個(gè)機(jī)器人玩二十一點(diǎn),它應(yīng)該先計(jì)算手牌,然后再?zèng)Q定是否再抓一張牌。
--For Each
它對集合的每個(gè)元素執(zhí)行一個(gè)活動(dòng)或一系列活動(dòng)。
這在數(shù)據(jù)處理中非常有用。?考慮一個(gè)整數(shù)數(shù)組。 對于每個(gè),機(jī)器人可以檢查每個(gè)數(shù)字項(xiàng)是否滿足特定條件。
?
Switch
它是什么?
這是一種控制流語句,它根據(jù)特定表達(dá)式的值執(zhí)行多個(gè)語句中的一組。?換句話說,當(dāng)我們需要至少3個(gè)潛在的操作過程時(shí),我們使用它代替If語句。 這是通過條件完成的,與If語句不同,該條件不是布爾值,而是多個(gè)。
我將在哪些業(yè)務(wù)場景中使用Switch?
具有3個(gè)潛在狀態(tài)(未開始,待處理,已批準(zhǔn))的發(fā)票,每個(gè)發(fā)票有3套操作
根據(jù)特定條件自動(dòng)向4個(gè)供應(yīng)商訂購原材料的過程