用UiPath作RPA也有一段時間了,初上陣不久,遇到過很多大大小小的坑。如下列出一些心得體會,望能拋磚引玉,與同行進行更多交流。api
1. 日誌策略:將UiPath Robot的Logging Level設爲Verbose,避免從新發明輪子。
2. 變量&參數命名要有規範,確保一眼就能看明白是什麼類型什麼用途。
3. 讀取Configuration也有可能出錯,須要包一層Try…Catch…。
4. 重複出現的邏輯應該提取出來做爲單獨的模塊。
5. 避免在Open Browser中包含Activity,以使邏輯清晰,易於修改。
6. 每一 個Activity的做用/目的都要經過命名簡要描述。
7. 避免使用Invoke Code,便於定位&調試問題。
8. 從Excel讀取出來的DataTable要轉換各列的DataType。
9. 避免使用Excel Application Scope,用Workbook Activities替代。
10. 避免使用非官方的Activities。
11. 經常使用的配置值要存爲一個變量,以便於調用
12. PDF文檔要打開後再打印,確保格式乾淨,穩定
13. 避免使用IF Activity,避免嵌套使用IF Activity,儘可能使用Flow Decision替代
14. 用Element Exists超時不會報錯,用On Element Appear和Find Element超時會報錯
15. Web應用,WaitForReady必須設爲Complete
16. 優先使用SimulateClick,其次是SendWindowMessages,最後纔是Native,以提升性能,而且能夠在後臺運行
17. 操做前要確認處於預期的界面,確認目標Element已存在。操做後要確認操做結果正確,尤爲是要確認Type Into輸入了預期的值。
18. SimulateClick和SendWindowMessages操做過快,須要不斷確認操做是否獲得預期的結果
19. 選擇打印機以後要確認是否正確鏈接打印機。如何確認?在打印界面點擊Properties,確認彈出的窗口爲預期的打印機屬性窗口便可。
20. 對於有規律的網頁數據,儘可能先嚐試Data Scraping (Extract Structured Data)。對自動產生的Selector採起逐層替換的方法改爲正確的Selector。
21. 如何協調多個Project之間文件的分佈,如何避免多人同時開發時的衝突?
22. 禁止使用Sequence,儘可能使用Flow Chart性能