序言
2018年末,我和北京航空航天大學(xué)出版社劇編輯交流新的寫作計劃。計劃敲定后,我心血來潮到網(wǎng)上搜索了一下關(guān)于UiPath的出版物,結(jié)果找到了這本Learning Robotic Process Automation。我看了一下該書的目錄,感覺它已經(jīng)涵蓋了RPA 的大部分基礎(chǔ)知識,如果能夠引進出版這本書的中文版,那么我后續(xù)寫書可在內(nèi)容構(gòu)思上與之互補,針對初級到中級RPA(Rototic Process Automation)開發(fā),兩本圖書可以形成協(xié)同效應(yīng)。我把這個想法和劇編輯交流,她對此表示認同,于是和本書的原出版社聯(lián)系版權(quán)事宜,最終獲得了其中文簡體版的翻譯授權(quán)。版權(quán)問題解決了,另一個問題隨之而來,我寫的那本書原計劃2019年8月底交稿,現(xiàn)在多了英文書的翻譯工作,如何在不影響既定計劃的情況下搞定這兩本書呢?毫無疑問,這兩本書會占用我所有的業(yè)余時間,我不希望繃得太緊,這會影響狀態(tài),繼而影響兩本書的質(zhì)量。這個時候,我想到了在浙江大學(xué)上學(xué)的陳學(xué)妹,她做事嚴謹、理性、靠譜,雖然那時我們認識的時間不長,但我覺得和她合作翻譯比較放心。事實上,她的確沒有讓我失望,也證明了我沒有找錯人。
在翻譯過程中,我讓陳學(xué)妹在自己的電腦上安裝UiPath Studio,對著書中的步驟自己操作一遍,有問題可以與我討論,然后再做翻譯。這樣一方面可以讓她“體會”書中的內(nèi)容而不是單純的“理解”,另一方面也可以讓她思考和練習(xí)書中的內(nèi)容而不是單純的翻譯。事實上,我們在自己操作的過程中,就發(fā)現(xiàn)不少原書內(nèi)容和實際運行結(jié)果有出入的地方,于是通過譯者注的方式在譯文中指出,我希望讀者在閱讀過程中也能自己操作一遍,看看實際運行結(jié)果和自己想象的是否一致。
我和陳學(xué)妹各負責(zé)一半的翻譯內(nèi)容,翻譯都完成之后,我們交換審校,各自以讀者的身份閱讀對方的譯文。當(dāng)碰到讀起來不太通順或者難以理解的譯文時,我們會找到對應(yīng)的原文,然后把原文、譯文和修改意見一并發(fā)給對方,有時我們也會就某些翻譯展開討論,陳述彼此如何理解原文以及為何提出這樣的修改意見。雖然已經(jīng)盡量避免翻譯造成的問題,但還是有可能存在疏漏之處,如果讀者在閱讀過程中發(fā)現(xiàn)問題,還望慷慨斧正。
在教育部高等教育司于2019年12月19日正式公布的UiPath公司支持的2019年第一批產(chǎn)學(xué)合作協(xié)同育人項目立項名單中,我看到北京航空航天大學(xué)和陳學(xué)妹就讀的浙江大學(xué)也在其中。隨著RPA 的普及,RPA 人才需求將會激增,衷心希望未來看到更多的高校加入,也希望我編寫和翻譯的圖書和后續(xù)文章能為國內(nèi)RPA 教育添磚加瓦。
前言
現(xiàn)在的數(shù)字世界,企業(yè)正在尋求經(jīng)濟效益高的數(shù)字化交付。機器人流程自動化(RPA)是一項快速發(fā)展的技術(shù),它通過模擬人類在計算機上的操作來幫助企業(yè)實現(xiàn)流程自動化,從而在保證質(zhì)量的情況下更快地交付。很多公司正在引入這項技術(shù)。UiPath是領(lǐng)先的RPA 平臺,也是自動化業(yè)務(wù)流程的最快方式。本書將帶你踏上了解RPA 技術(shù),并學(xué)習(xí)構(gòu)建機器人以實現(xiàn)自動化流程的旅程;讓你為RPA 的未來做好準(zhǔn)備。
本書適合誰
本書適合任何想要開啟RPA 職業(yè)生涯的讀者。C#、VB.NET的基礎(chǔ)知識是必需的。
本書涵蓋哪些內(nèi)容
第1章“什么是機器人流程自動化?”中,讀者將了解自動化的歷史和RPA 的發(fā)展歷程。 什么類型的自動化可以歸類為RPA? 未來的分析師預(yù)測了什么? 誰是市場上的主要參與者? RPA 有哪些好處? 本章會談及所有這些內(nèi)容。
第2章“錄制和播放”中,讀者將了解UiPath棧和流程設(shè)計器/Studio,并且會使用基于向?qū)У墓ぞ邅砜焖僮詣踊R?guī)任務(wù)。
第3章“順序流、流程圖和控制流”中,考察錄制器生成的項目,并解釋程序流(工作流)。讀者將了解順序流的使用和活動的嵌套,并學(xué)習(xí)使用工作流流程圖和控制流(for循環(huán)和決策)的構(gòu)件。
第4章“數(shù)據(jù)操作”中,讀者將了解通過變量使用內(nèi)存的技術(shù)。讀者將學(xué)習(xí)使用數(shù)據(jù)表存儲數(shù)據(jù)以及在內(nèi)存中操作數(shù)據(jù)的簡單方式。本章也會演示如何使用磁盤文件(CSV、Excel等)使數(shù)據(jù)持久化。
第5章“操控控件”中,讀者將了解提取信息是RPA 的主要功能,它可以實現(xiàn)UI(User Interface)自動化。在幕后,很多技術(shù)協(xié)同工作是從UI無縫提取信息的。當(dāng)常規(guī)RPA 技術(shù)無法成功提取信息時,光學(xué)字符識別OCR(Optical Character Recognition)技術(shù)就會用來提取信息。在本章中,讀者將了解使用UiPath里的各種選擇器來提取信息和操作控件。我們將使用一個瀏覽器應(yīng)用程序來完成這個任務(wù),并在每節(jié)中詳細解釋。最后,我們將一個Windows應(yīng)用程序自動化。
第6章“通過插件和擴展馴服應(yīng)用程序”中,讀者將了解UiPath可提供很多插件和擴展來簡化UI自動化。除了桌面屏幕的基本提取和交互,這些插件還允許用戶直接與應(yīng)用程序交互,或者簡化UI的自動化。讀者將了解這些插件和擴展的用法,每節(jié)都有例子和用例。
第7章“處理用戶事件和助理機器人”中,讀者將了解助理機器人的實用性。所有可以用來觸發(fā)操作的監(jiān)視事件本章都會涵蓋,還會給出兩個監(jiān)視事件的示例。
第8章“異常處理、調(diào)試和日志記錄”中,讀者將了解異常處理技術(shù)、日志錯誤屏幕截圖,以及找出其他有用的信息來幫助調(diào)試或報告。讀者將學(xué)習(xí)如何調(diào)試代碼。
第9章“管理和維護代碼”中,讀者將了解項目的組織、模塊化技術(shù)、工作流嵌套,以及使用TFS服務(wù)器來維護源代碼的版本。
第10章“部署和維護機器人”中,讀者將了解發(fā)布實用程序和Orchestrator服務(wù)器,也將學(xué)習(xí)如何準(zhǔn)備生產(chǎn)環(huán)境。
充分利用本書對C#、VB.NET 有基本了解,有一臺可以安裝UiPath Studio的筆記本電腦,再加上本書,讀者就可以開始使用你的機器人制作流程了!
下載彩圖
我們還提供了一個PDF文件,其中包含本書使用的屏幕截圖/圖表的彩圖。讀者可以從這里載:https://www.packtpub.com/sites/default/files/downloads/
LearningRoboticProcessAutomation_ColorImages.pdf。
使用約定
本書中使用了很多文本約定CodeInText用于表示文本中的代碼、數(shù)據(jù)庫表名、文件夾名、文件名、擴展名、路徑名、虛擬URL、用戶輸入和Twitter標(biāo)識。舉個例子,“在我們這個例子中,我們輸入了What's your name?”。
雖然我們已經(jīng)盡了最大努力來保證內(nèi)容的準(zhǔn)確性,但錯誤仍會出現(xiàn)。如果讀者在本書里找到錯誤并告知我們,我們會很感激的。
第1章 什么是機器人流程自動化1
1.1 自動化的適用范圍和技術(shù) 1
1.2 機器人流程自動化 3
1.3 RPA平臺 8
1.4 關(guān)于 UiPath 11
1.5 自動化的未來 12
1.6 小 結(jié)12
第2章 錄制和播放 13
2.1 UiPath棧13
2.2 下載和安裝UiPath Studio 16
2.3 了解UiPath Studio 19
2.4 任務(wù)錄制器 25
2.5 手把手示范錄制器的使用 32
2.6 小 結(jié)38
第3章 順序流、流程圖和控制流39
3.1 順序流39
3.2 活 動42
3.3 控制流、循環(huán)的各種類型和決策制定 45
3.4 手把手示范順序流和流程圖的使用 54
3.5 手把手示范順序流和控制流的使用57
3.6 小 結(jié)59
第4章 數(shù)據(jù)操作60
4.1 變量和作用域 60
4.2 集 合63
4.3 參數(shù)的用途和用法 65
4.4 數(shù)據(jù)表的用法示例 66
4.5 剪貼板管理 73
4.6 手把手示范文件操作 77
4.7 手把手示范CSV/Excel和數(shù)據(jù)表之間的轉(zhuǎn)換84
4.8 小 結(jié)88
第5章 操控控件 89
5.1 查找和關(guān)聯(lián)窗口 89
5.2 查找控件 91
5.3 操控控件相關(guān)介紹 95
5.4 操作控件———鼠標(biāo)和鍵盤活動96
5.5 使用 UiExplorer 99
5.6 處理事件 100
5.7 重溫錄制器 103
5.8 屏幕抓取 108
5.9 何時使用 OCR 109
5.10 可用的 OCR類型 111
5.11 如何使用 OCR 112
5.12 避免常見的故障點 113
5.13 小 結(jié) 114
第6章 通過插件和擴展馴服應(yīng)用程序115
6.1 終端插件 115
6.2 SAP自動化 117
6.3 Java插件118
6.4 Citrix自動化 119
6.5 郵件插件 122
6.6 PDF插件 124
6.7 Web集成 125
6.8 Excel和 Word插件127
6.9 憑證管理 129
6.10 Java、Chrome、Firefox和Silverlight擴展130
6.11 小 結(jié) 131
第7章 處理用戶事件和輔助機器人132
7.1 什么是輔助機器人 132
7.2 監(jiān)視系統(tǒng)事件觸發(fā)器 133
7.3 監(jiān)視圖像和元素觸發(fā)器 135
7.4 通過鍵盤事件啟動輔助機器人144
7.5 小 結(jié) 146
第8章 異常處理、調(diào)試和日志記錄 147
8.1 異常處理 147
8.2 常見異常和處理方式 150
8.3 日志記錄和截屏 152
8.4 調(diào)試技巧 153
8.5 收集故障轉(zhuǎn)儲157
8.6 錯誤報告 158
8.7 小 結(jié) 159
第9章 管理和維護代碼160
9.1 項目組織 160
9.2 嵌套工作流166
9.3 工作流的可重用性 167
9.4 注釋技巧 169
9.5 狀態(tài)機 169
9.6 何時使用流程圖、狀態(tài)機或者順序流 171
9.7 配置文件的用法和示例 172
9.8 集成TFS服務(wù)器 176
9.9 小 結(jié) 176
第10章 部署和維護機器人 177
10.1 使用發(fā)布實用程序發(fā)布工作流 177
10.2 Orchestrator服務(wù)器概覽 179
10.3 部署流程 184
10.4 使用 Orchestrator控制機器人 185
10.5 使用 Orchestrator部署機器人 187
10.6 許可證管理 192
10.7 發(fā)布和管理更新 193
10.8 小 結(jié)