一、RPA簡介
RPA,全程Robotic Process Automation,即機(jī)器人流程自動化,是利用機(jī)器人流程來實現(xiàn)業(yè)務(wù)流程自動化處理??偟膩碚f,具有如下的特點:
-
是一種軟件機(jī)器人,利用其自身的軟件能力,加上用戶定義的流程,來控制和執(zhí)行其預(yù)定流程的執(zhí)行;
其本質(zhì)就是一款軟件,這款軟件能按照定義的方式來操縱電腦上的其它任何軟件,比如QQ農(nóng)場定時偷菜、自動線上打卡、整理Excel等等;
-
以非侵入式的方式實現(xiàn)跨系統(tǒng)、多平臺的無縫連接,輕松實現(xiàn)數(shù)據(jù)互通;
無需任何系統(tǒng)開放接口,就是模擬一個用戶的行為來操作多個系統(tǒng),完全可以在多個系統(tǒng)之間做數(shù)據(jù)搬運的工作;
-
屬于低代碼開發(fā),非計算機(jī)專業(yè)人士,在無編程基礎(chǔ)的情況下,也能使用RPA技術(shù),通過鼠標(biāo)拖拉拽、流程錄制輕松實現(xiàn)業(yè)務(wù)流程的開發(fā);
有點像scratch少兒編程、Excel的宏,適合非專業(yè)人士定制自己的工作日常流程,節(jié)省人力;
-
支持全天候工作;
不用發(fā)工資,不用休息;
-
適合業(yè)務(wù)規(guī)則十分明確,基本不用改動的流程場景;
只適合規(guī)則明確、流程簡單且固定的工作,一旦有任何改變,流程就得重新修改,這也是RPA的缺點,其健壯性不高。如果是比較復(fù)雜的后臺業(yè)務(wù)流程,建議考慮使用編程語言而不是RPA。
目前有很多RPA工具可供我們選擇,自己調(diào)研下來,大致分為兩個陣營:
- 基于微軟技術(shù)棧,使用微軟的C#、VB等來實現(xiàn)流程執(zhí)行的工具,比如UiPath、UiBot;
- 基于Python技術(shù)棧來實現(xiàn)流程的工具,比如華為的WeAutomate;
國內(nèi)這樣的工具也很多,大多屬于如上兩陣營中的一個,這里就不窮舉了。但是不管哪個工具,一般都會分為如下三個部分:
- 設(shè)計器,給用戶進(jìn)行流程設(shè)計的工具,一般自帶執(zhí)行器,可以進(jìn)行執(zhí)行、調(diào)試、發(fā)布等操作,是最主要的部分;

- 執(zhí)行器,裝載在工作機(jī)上的,用來執(zhí)行調(diào)試好的流程,只能用來執(zhí)行流程;

- 管理中心,可以連接設(shè)計器和執(zhí)行器,設(shè)計器可以將流程上傳(發(fā)布)到管理中心保存,管理中心將流程下發(fā)給所有的執(zhí)行器,設(shè)定執(zhí)行參數(shù)進(jìn)行監(jiān)控等;用戶也可以登錄管理中心進(jìn)行流程、參數(shù)、密鑰等內(nèi)容的管理。
個人有些Python基礎(chǔ),再加上后續(xù)大數(shù)據(jù)技術(shù)棧需要用到python,因此選擇了華為WeAutomate進(jìn)行研究和講解。其它工具使用方法也基本大同小異。當(dāng)然華為WeAutomate也提供了詳情的教程,此處只是做一個導(dǎo)讀和總結(jié),內(nèi)部不會很多。
二、WeAutomate使用簡介
2.1 安裝和配置
- 設(shè)計器和執(zhí)行器都是需要序列號進(jìn)行激活的,但是對于個人學(xué)習(xí)者,獲得序列號的方式不是復(fù)雜,每次有效期3個月,可以一直續(xù)期,達(dá)到永久免費試用的目的,這個確實很贊。
2.2 基本操作
- 變量類型比較有限,就只有String、Number、Boolean、Array、Object這幾種;
- 提供了對字符串、數(shù)組、字典、日期時間、正則表達(dá)式的操作,但是要求用戶要懂一點python語法;
- 支持的控制流有if-else、for-each、do-while、while這幾種,在控制流的可視化上面,個人覺得做的比其它幾家都要簡潔方便;
- 支持網(wǎng)頁操作,有非常便捷的工具供用戶選擇網(wǎng)頁元素、文字點擊、圖像點擊、文本輸入,也很方便就能獲取網(wǎng)頁中的表格、文本等;
- 支持本地office套件的操作,比如讀寫excel、word,還支持自動收發(fā)郵件,讀取郵件內(nèi)容等;
- 提供了清大的流程錄制功能,對于一連串的操作步驟,在開啟錄制后,能自動識別用戶的每一步進(jìn)行記錄,大大節(jié)省了流程制作的時間;
2.3 進(jìn)階操作
- 支持子流程的制作和調(diào)用,有助于流程模塊的劃分;
- 支持調(diào)用和執(zhí)行外部程序,支持調(diào)用Restful風(fēng)格的接口;
- 支持try-catch-finally異常捕獲和處理機(jī)制,從而提高流程的健壯性;
- 支持本地程序的各種操作,比如窗口操作、鼠標(biāo)操作、鍵盤操作等,
- 支持基于找圖的形式來操作遠(yuǎn)程桌面;
2.4 管理中心
- 使用管理中心需要按照教程進(jìn)行申請,試用時只能共享別人的空間;
- 設(shè)計器的連接、腳本的上傳及發(fā)布;
- 創(chuàng)建任務(wù),分發(fā)給不同的執(zhí)行器進(jìn)行作業(yè);
- 當(dāng)任務(wù)較多時,支持創(chuàng)建任務(wù)隊列;
- 作業(yè)監(jiān)控和日志功能;
- 敏感信息的儲存和管理;
2.5 高級操作
- 用戶名密碼、密鑰等敏感信息支持存放在管理中心,保證流程包中不存在敏感數(shù)據(jù);
- 支持在瀏覽器環(huán)境中直接執(zhí)行Javascript腳本,從而代替界面操作,更加高效;
- 支持獲取執(zhí)行機(jī)當(dāng)前的系統(tǒng)信息、對執(zhí)行機(jī)上的目錄、文件進(jìn)行操作、支持連接數(shù)據(jù)庫執(zhí)行SQL語句;
- 自帶華為的人工智能組件,比如OCR圖像識別,可以識別文本、卡證、驗證碼等;還有NLP自然語言處理組件;
- 用戶也可基于Python開發(fā)自定義組件,引入到設(shè)計器中進(jìn)行使用;
三、RPA使用總結(jié)
任何工具都有其存在的背景和意義,RPA存在的背景可能就是給非IT公司的非IT人員使用的,比如財會、律法、人力、文秘等等,當(dāng)他們有大量流程固定的重復(fù)操作流程時,RPA都能為他們帶來勞動力的解放。然而矛盾的是,RPA中的高級功能,比如python、javascript、sql腳本的執(zhí)行又要求用戶要有一定的編程基礎(chǔ),所以注定了RPA只能使用在流程比較簡單的場景中。對于IT工作人員來說,RPA更像是一個玩具,處理一些文書工作可能會用到,但更可能手寫腳本就處理了。對于公司來說,RPA能替換簡單文書工作的職能人員,或者替部分員工從枯燥重復(fù)的文書工作中解放出來,降本增效。