課程目標:
1、解釋如何構建ReFramework模板;
2、解釋ReFramework模板是如何作業的;
3、使用ReFramework來自動化您自己的流程,
一、課程里面涉及的系統
ACME System 1 :https://acme-test.uipath.com/login
可以先去注冊一個,需要注意的地方:
- 確保你使用的電子郵件地址與你在學院注冊時使用的相同,
- 第一次成功登錄時需要執行的第一步是訪問User Options部分并單擊Reset Test Data按鈕,為您的用戶帳戶生成一組完整的測驗資料,它包括供應商,發票,報告,客戶,支票,帳戶等,
- 所有用戶都需要在課程開始前安裝UiPath Studio(試用版或社區版),

- 我注冊了下,貌似不行,,,
- 多試幾次重繪下頁面,然后底下就會出現選擇驗證碼,然后就能注冊成功了,進入頁面 按提示操作,先初始化資料, User Options -> Reset Test Data
然后就可以跟著課程的步驟實作,
二、練習專案
業務場景:
有一個叫‘UiDemo’的程式,需要實作自動化流程,需要將Excel中的資料,輸入到UiDemo中,這個不難,需要一個Read Range讀取Excel中的資料范圍,存入DataTable,然后遍歷DataTable中的每一行,寫入到UiDemo程式中,然而,這里的挑戰是由于有很多的資料要寫入,需要多個機器人同一時間作業,根據解決方案架構師和業務分析,需要將流程分配給多達5個機器人,
這個練習的專案涉及到的東西還挺多的,我一步一步的實作,官網課程也有檔案,寫的不夠詳細,我爸自己實作的程序,遇到的問題都記錄下,分享學習,回頭我也把我的專案上傳到GitHub.
1、準備
先到官網下載課程需要的資料,https://academy.uipath.com/learningpath-viewer/1992/1/150802/16
下載Excel和UiDemo.exe檔案,還有操作說明檔案PDF,
我用的是 UiPath2020.6版本
然后需要先登入Ochestrator,查看機器人是否配置好,
本地打開Assistant,連接成功
發現云上的Ochestrator不太穩定,經常掉線,導致流程跑起來的時候 中間會報錯,中斷,
2、創建REF專案
- 專案名稱 UiPath_REFrameWork_UiDemo
- 專案描述:Demonstrating the REFramework with UiDemo
創建好了檔案的目錄是這樣的:

解壓后將Transactions.xlsx放到\Data\Input中,如果是老版本的studio 就放到Data目錄下就行,
3、創建Dispatcher – UploadQueue.Xaml
點擊頂部選單New,選擇Sequence,這是做好的樣子,

- 添加Read Range 課程里選擇的是WorkBook下的ReadRange,Excel下的也能用,用法不太一樣,

選擇Transactions.xlsx,然后讀取Sheet1的內容,Range默認為空,獲取全部的資料,這里需要創建一個DataTable型別的資料,來存盤Excel中的內容,

- 然后添加一個For Each Row 遍歷DataTable,在Body中添加一個 Add Queue Item
需要編輯的屬性:ItemInformatica,需要將DataTable中的三列資料插入到Queue中,
QueueName,定義佇列名稱,需要和Orchestrator上的佇列名稱一致,

- Orchestrator上新建佇列Queue,名稱要和上一步中寫的一樣,其他的選項都默認就行,


這樣就可以了,運行一下,然后看Orchestrator,監控選單下,就可以看到,將Excel中的資料上傳到佇列中,有日志資料,

4、修改組態檔Config.xlsx
在Data目錄中,需要修改Settings頁中
- OrchestratorQueueName為上面設定的佇列名稱
- 然后添加一個UiDemoCredential的值為UiDemoCreDential_REFramework

UiDemoCreDential_REFramework需要在Orchestrator中的Asset中先配置好,注意型別type要選擇Credential,這個是管理UiDemo.exe登入的賬號和密碼,為了安全考慮,選擇這種方式,studio有提供可以讀取Windows的憑證,存在Windows的憑證,然后去獲取也行,
Asset name就是UiDemoCreDential_REFramework,然后指定一個默認值,然后可以選擇機器人,可能每臺機器人登入的賬號和密碼不一樣,都可以設定,

修改Asset頁,新增一個UiDemoPath,用來指定UiDemo.exe的存放位置,
然后這個UiDemoPath,一樣需要在Orchestrator的Assets中設定好,型別是Text,
![]()

5、創建UiDemo_Login.xaml
在專案目錄下新建個檔案夾UiDemo subfolder,存放UiDemo_Login.xaml,
建好的流程如圖:

- 創建引數和變數
Arguments:in_Credential

兩個變數Username和Password:型別為SecureString

- 先放一個Invoke Workflow File 執行"Framework\GetAppCredentials.xaml",這個主要是獲取Orchestrator平臺上前面設好的用戶名和密碼,
GetAppCredentials.xaml是框架里面寫好的,需要傳這幾個引數;就是上面定義的引數和變數名稱,

- 完成輸入賬號密碼,并登入UiDemo
這一步需要先打開UiDemo.exe界面,在Main流程中,一開始初始化會先啟動UiDemo.exe,
所以我們先打開,需要實作輸入登入功能,
添加一個Attach Window,需要先錄制到視窗,
Username:Type into 抓取Username輸入框,Text屬性輸入定義的變數Username+回車鍵
Password:Type Secure Text,在Input的Secure Text輸入Password變數名稱
Login :Click

然后就創建完成!
6、修改InitAllApplications.xaml

我們需要在InitAllApplications.xaml啟動UiDemo.exe
添加一個
將selector選擇器 選中UiDemo.exe視窗,然后修改FileName值:in_Config("UiDemoPath").ToString
這個值就是初始化的時候 框架里面自帶的功能去去掉Config中表格的資料,這邊直接這么用就可以了,

在添加一個Sequece,添加Invoke workflow file

傳入引數值:in_Config("UiDemoCredential").ToString

保存!
7、退出程式,殺行程
CloseAllApplications 、KillAllProcesses.


8、最重要的Process.xaml
主要的業務流程在Process,xaml中實作,

- 創建這幾個變數

- 添加一個Sequence,對變數賦值
CashIn=in_TransactionItem.SpecificContent("CashIn").ToString
OnUsCheck=in_TransactionItem.SpecificContent("OnUsCheck").ToString
NotOnUsCheck=in_TransactionItem.SpecificContent("NotOnUsCheck").ToString

- 添加個FlowDecision,條件:Double.TryParse(CashIn, dbl_CashIn) AND Double.TryParse(OnUsCheck, dbl_OnUsCheck) AND Double.TryParse(NotOnUsCheck,dbl_NotOnUsCheck)將字串型別轉為double型別,判斷是否有值,

沒有值得,拋出例外,Throw,例外資訊:new BusinessRuleException("Input Data Invalid")

有值,繼續判斷 dbl_CashIn是否大于1000.超過1000則拋出例外:new BusinessRuleException("too large")

小于,就進入UiDemo錄入資料,
- 我是用錄制的功能,比較方便,Desktop,主要是三個輸入框然后一個按鈕,


到這里整個REF框架實作完畢,
然后可以運行,看有什么報錯,
9、例外報錯資訊
這個可能是Orchestrator鏈接斷開了,經常不穩定,

這篇就先寫到這里,有問題可以留言,有什么不對的地方也歡迎提出來,一起討論,
專案原始碼地址:
https://github.com/sanhecao/MyUipath/tree/master/Uipath_REFrameWork_UiDemo
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/806.html
標籤:其他
