序言
“RPA 是實體機(jī)器人嗎?”相信首次接觸RPA (Robotic Process Automation)的人都會發(fā)出這樣的疑問。時至今日,我對2017年7月在深圳首次向客戶介紹RPA 的經(jīng)歷記憶猶新。自此,我十分榮幸能有機(jī)會與數(shù)百家公司、企業(yè)、合作伙伴和RPA 專業(yè)人士(諸如本書的作者)進(jìn)行深入的交流。作為UiPath在大中華地區(qū)的第一位員工,我見證了RPA在中國各個行業(yè)和領(lǐng)域的爆炸式增長,更重要的是,越來越多志同道合的人正在加入RPA 社區(qū)并為之貢獻(xiàn)。助推RPA 高速增長的動力有千千萬萬,但我認(rèn)為,“人”是引發(fā)其爆炸式增長的關(guān)鍵因素之一,雖然機(jī)器人能以每天24小時的模式高效工作,但仍受到時間與已定流程的限制,而人類的大腦卻能超越時間和空間的束縛。與RPA 專業(yè)人士交流的時候,我聽到了很多創(chuàng)意并有所得,有時我將這些創(chuàng)意稱為夢想。沒有他們這些天馬行空的夢想,機(jī)器人只能機(jī)械地執(zhí)行任務(wù),無法為公司、員工和人類生活創(chuàng)造真正的價值。
我非常喜歡本書第1章中提到的“自動做飯” 這個新穎比喻,它揭示了RPA 與傳統(tǒng)IT解決方案之間的關(guān)鍵區(qū)別。盡管技術(shù)是現(xiàn)今世界通行的語言,但能讀到以中文著就的此類有趣的比喻以及專業(yè)的技術(shù)說明,無疑會促進(jìn)中國市場與科技的緊密相聯(lián),從而引發(fā)更多可以利用“數(shù)字助手”的新奇思路。普及化是每項技術(shù)的落地之路,我堅信,RPA 機(jī)器人會像計算機(jī)那樣走進(jìn)千家萬戶,最終實現(xiàn)“人手一個機(jī)器人”的美好愿景,從而讓我們的工作以及生活更加美好!
Tommy Fung
UiPath大中華區(qū)銷售總監(jiān)
2020年2月
前言
緣 起
2018年5月,我在一個小會議上偶然遇到Tommy Fung,當(dāng)時他給我們介紹RPA,這是我第一次知道RPA 這個詞。當(dāng)Tommy給我們展示UiPath Studio時,我一眼就認(rèn)出WF的工作流設(shè)計器,雖然10年前我就玩過WF,也在博客上發(fā)過WF的文章,但看到UiPath把WF和UI自動化結(jié)合起來還是有種眼前一亮的感覺,甚至勾起了我當(dāng)年開發(fā)UI自動化測試的回憶。
隨著學(xué)習(xí)的深入和經(jīng)驗的積累,我有了寫作的沖動,寫作對于我來說不但是一個記錄和分享的過程,還是一個梳理和鞏固的過程。2018年8月下旬,我聯(lián)系了北航出版社的劇艷婕編輯,交流了我的寫作計劃,我們也交流了國內(nèi)技術(shù)書籍的出版情況和RPA 在國內(nèi)的發(fā)展趨勢,并敲定了本書的合作。2018年9月開始構(gòu)思本書的大綱,10月填寫選題表并確定本書的大綱,11月初選題過審并簽訂寫作合同,從此踏上了本書的寫作之旅。
閱讀指南
本書的寫作從2018年11月開始,到2019年9月結(jié)束,前后耗時10個月,它系統(tǒng)地記錄了我的所學(xué)、所用、所思、所想。從剛接觸RPA 到現(xiàn)在,我從RPA 社區(qū)學(xué)到了很多,現(xiàn)在是時候回饋社區(qū)了。我希望本書能夠助我踏出第一步,幫助現(xiàn)在的新手快速成長,就像社區(qū)幫助當(dāng)初的我一樣。
本書分為四篇。第一篇介紹了RPA 和UiPath的基本概念。如果你是一個技術(shù)新手,想快點做出東西,可以先讀第2章,然后根據(jù)情況選讀后面的章節(jié),最后閱讀第1章。如果你是一個管理者,想了解為企業(yè)實施RPA 需要考慮哪些東西,那么可以花點時間精讀第1章,然后根據(jù)情況瀏覽后面的章節(jié)。
第二篇系統(tǒng)地講解開發(fā)的基礎(chǔ)知識和技術(shù),其中,每個RPA 項目都會用到第3章的內(nèi)容,包括創(chuàng)建和調(diào)試項目、錄制和播放流程、版本控制和發(fā)布部署等,建議技術(shù)人員精讀并掌握。第4章的內(nèi)容可以 根據(jù)情況選讀,比如,你的RPA 項目需要定期處理文件,則可以選讀第1節(jié)和第6節(jié)。如果時間允許,我仍然建議從頭開始閱讀,因為部分示例涉及多個章節(jié),單獨閱讀這些章節(jié)可能造成上下文缺失。
第三篇個人覺得是全書最有意思的部分,它探索RPA 如何與百度OCR、NLP等服務(wù)和微軟ML.NET框架集成,也探討如何利用WF的知識為UiPath創(chuàng)建自定
義活動包。隨著接觸到更多更復(fù)雜的流程,你終將無法滿足于官方提供和自帶的構(gòu)件,這個時候,集成第三方服務(wù)以及創(chuàng)建自定義構(gòu)件就會變得尤為重要,我希望這個部分能夠拋磚引玉,在這個方面對你有所啟發(fā)。
如果你看了很多資料,寫了很多示例,也做了很多交流,依然覺得在解決實際問題時有所欠缺,那么你離出師可能還差一個真實的案例。你需要一個機(jī)會把你學(xué)過的東西串起來,從頭到尾經(jīng)歷一個完整的項目,并解決在這個過程中遇到的實際問題,而這正是第四篇的目的。當(dāng)然,真實項目可能是你未曾想過的有(奇)趣(葩)問題,因此,請把握機(jī)會,參與項目、解決問題并積累經(jīng)驗。噢,對了,別忘了把在真實項目中遇到的有(奇)趣(葩)問題拿出來跟大家一起分享。
以上這些內(nèi)容其實是我在構(gòu)思本書大綱時的思考,把這些內(nèi)容寫下來一方面希望幫你找到合適的閱讀方式,另一方面也想讓你了解本書為何這樣寫。
代碼支持
本書的示例代碼已經(jīng)發(fā)布到GitHub,可以從https://github.com/allenlooplee/RPABook 下載完整的代碼。建議先按照本書的指示動手創(chuàng)建流程,然后再從GitHub上查閱對應(yīng)的代碼。如果對本書的內(nèi)容和代碼有任何問題或者建議,可以到https://github.com/allenlooplee/RPABook/issues上開issue,我會在業(yè)余時間盡量回復(fù)。如果對UiPath的產(chǎn)品有任何問題或建議,可以到https://forum.uipath.com/上發(fā)帖。
作 者
2020年2
第一篇 概覽篇
第1章 RPA概覽5
1.1 RPA是什么 5
1.2 選擇適合的流程6
1.3 三個層次、兩個方向、一段旅程 9
1.4 實施模型和卓越中心 12
1.5 我眼中的RPA 2.0 15
第2章 UiPath概覽 17
2.1 UiPath平臺 17
2.2 為什么選擇 UiPath 18
2.3 UiPath Studio的安裝和設(shè)置19
2.4 您好,世界 22
2.5 UiPath Go 26
第二篇 技能篇
第3章 開發(fā)基礎(chǔ)31
3.1 創(chuàng)建項目 31
3.2 錄制和播放 34
3.3 選擇器和UI Explorer 38
3.4 調(diào) 試42
3.5 異常與日志 44
3.6 一鍵發(fā)布和部署 49
3.7 使用Orchestrator CE集中管理發(fā)布和部署 51
3.8 代碼組織和版本控制 60
第4章 常用技能和使用示例 66
4.1 文件和文件夾 66
4.2 Web和數(shù)據(jù)抓取 70
4.3 SQLite數(shù)據(jù)庫 79
4.4 Office 85
4.5 響應(yīng)用戶事件 90
4.6 計劃任務(wù) 96
4.7 配置文件 103
4.8 測試框架 106
第三篇 交叉篇
第5章 RPA x OCR 117
5.1 遇見百度 OCR 117
5.2 創(chuàng)建和配置項目 118
5.3 識別增值稅發(fā)票 121
5.4 過濾并提交識別結(jié)果 124
第6章 RPA x NLP 128
6.1 準(zhǔn)備環(huán)境 128
6.2 下載新聞 133
6.3 通過百度 NLP提取新聞標(biāo)簽 137
6.4 通過Python生成詞云圖 138
第7章 RPA x AutoML 141
7.1 遇見 ML.NET 141
7.2 準(zhǔn)備數(shù)據(jù) 142
7.3 使用ML.NET Model Builder自動訓(xùn)練模型 144
7.4 使用模型預(yù)測結(jié)果 148
7.5 拖放式機(jī)器學(xué)習(xí)150
第8章 RPA x WF x WPF 153
8.1 站在 WF的肩膀上 15
8.2 創(chuàng)建自定義活動項目 153
8.3 發(fā)布自定義活動包 159
8.4 自定義活動設(shè)計器 161
8.5 使用 UiPathActivitySet創(chuàng)建自定義活動 166
第四篇 實踐篇
第9章 案例實踐:貨基收益自動對賬 175
9.1 需求收集與分析 175
9.2 可行性分析 176
9.3 流程設(shè)計 178
9.4 在京東金融中獲取小金庫零用錢的余額和收益列表 183
9.5 在網(wǎng)易有錢中獲取小金庫零用錢的余額 188
9.6 記一筆賬 190
9.7 未盡事宜