(草稿)如何判斷一名UiPath開發人員是否合格?


一名合格的UiPath開發人員究竟需要具備什么核心技能?業務梳理?溝通技巧?VB.net嗎?VBA嗎?Python?還是SQL?出於多種原因,關於這一點總是眾說紛紜,莫衷一是。盡管這些技術都算沾邊,但我始終覺得並沒有觸及RPA或者UiPath的核心。
 
那么我就反過來想,究竟缺少了哪一點,RPA就不再能夠稱之為RPA?
 
一上來就直面這個問題,其實是有些困難的。於是我便進一步問自己,RPA到底是什么?
 
我相信許多同行跟我一樣,經常被問到——所謂的RPA,跟按鍵精靈到底有啥區別?我努力試圖向人們解釋RPA比按鍵精靈更高大上,但往往人們的表情依然困惑。一個人問,可能只是個疑問,一萬個人問,那必定有什么道理。為此我冥思苦想,忽然覺得以往試圖強行將它與按鍵精靈區分開,似乎是個錯誤的方向。這個東西,本質上跟按鍵精靈並沒有什么不同,都是圖形界面的自動化技術。至少在單機環境下,按鍵精靈和各種RPA工具理應能夠實現同樣的功能和效果。這么一想,就豁然開朗起來。
 
那么既然RPA是圖形界面的自動化技術,這一類技術的核心是什么?
 
當然是找到正確的界面元素,並與其進行預期的交互。所以說,搞明白在UiPath中如何准確地定位界面元素,是UiPath開發的首要技術要求。
 
那么在UiPath中定位元素,有哪些關鍵知識點呢?
我認為有以下幾點。
完整選擇器
部分選擇器
模糊選擇器
絕對定位
相對定位
動態定位
 
其中動態定位技術最復雜,涉及一些相關的Activities,包括但不限於:
Anchor Base
Context Aware Anchor
Element Scope
Find Children
Find Relative Element
Get Ancestor
Indicate On Screen
Pick
Try ... Catch ...
Switch
Throw
Rethrow
Get Position
等等。如何靈活運用以上知識進行准確的元素定位,才是UiPath的核心技術。並且,以上提及的知識點也都是UiPath的難點。UiPath玩過好幾年但還是沒有完全搞懂上述知識的開發人員,我見過不少。新手更是經常在定位界面元素的問題上翻車。可見吃透定位技術並不容易。據我所知這方面的系統學習資料並不多,官方教程也只做掃盲然而並不深入,只能全憑各人的鑽研和經驗積累,所以可以用來考察UiPath開發人員的功力深淺。
 
我覺得將它視為UiPath開發人員技術合格與否的第一道分水嶺都不為過。
 
核心定義的后半句話是,進行預期交互的能力。預期交互是指什么呢?其實說白了,就是設計和實現邏輯分支的能力。
 
有的人可能會覺得,實現邏輯分支有什么難的?不就寫個if/Else,True/False嘛?會這么想雖然算有些理解,但缺少實踐支撐。
 
我知道有不少人在設計流程的時候,是線性的思維,流程圖是一條直線一二三四走下來,開發的時候也常常喜歡用Sequence一條寫到底。這樣遇到小的邏輯分支還能修修改改,遇到大的邏輯分支就完蛋了,完全改不動。一個典型的例子就是登錄流程的設計,往往一登錄就了事,從來不想密碼錯了流程怎么走,密碼過期了流程怎么走,登錄成功還是失敗也不確認,遇到任何異常就簡單粗暴地重試三次了事,最終導致賬戶被鎖定,才回頭想辦法返工重做。登錄的例子還算簡單明了,有些場景邏輯分支實現起來相當復雜,需要對業務異常和技術異常全盤考慮盡量處理,還要兼顧用戶需求,就很棘手。特別是異常流程要怎么走,應該做到什么,能做到什么,什么動作做不了,這些事心里有沒有數,也是應該考察的重點之一。
 
以100分制來打比方的話,定位技術可以用來判斷UiPath開發人員達到60分沒有,而按預期進行交互的能力則可以用來評判是否達到80分。
 
另外,由於目前大多數RPA客戶還處於小打小鬧的嘗鮮狀態,許多RPA項目只是做Front-Office Robot,即前端的,助手形的機器人。這種類型的機器人設計上有一個特點是自動化流程有可能與用戶當前的操作同時進行。因此,如何盡量避免影響用戶操作,也是一個雖然不大但蠻重要的考察點。
 
與傳統IT開發技術不同,准確和穩定是RPA的首要要求,性能雖然也蠻重要但其實很少優先考慮。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM