UiPath实践经验总结(一)
用UiPath做RPA也有一段时间了,初上阵不久,遇到过不少大大小小的坑。以下列出一些心得体会,望能抛砖引玉,与同行进行更多交流。
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
UiPath实践经验总结(一)的更多相关文章
- UiPath实践经验总结(二)
1. UI操作容易受到各种意外的干扰,因此应该缩短UI操作阶段的总体时间.而为了缩短UI操作阶段的总体时间,应该将UI操作尽量放在一起,将后台的各种操作尽量放在UI操作的前后.例如,现在有 ...
- [转]UiPath实践经验总结(二)
本文转自:https://www.cnblogs.com/ybyebo/p/10086473.html 1. UI操作容易受到各种意外的干扰,因此应该缩短UI操作阶段的总体时间.而为了缩短 ...
- CI Weekly #6 | 再谈 Docker / CI / CD 实践经验
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程
在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1 哪些知识点 ...
- 华为云对Kubernetes在Serverless Container产品落地中的实践经验
华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...
- 关于Flask使用Celery的实践经验分享
最近大Boss反馈Celery经常出现问题,几经实践终于把问题解决了!于是乎有了这篇博客的诞生,算是一个实践经验的分享吧! 软件版本如下: Celery () Flask () RabbitMQ( ...
- 领域驱动设计(DDD)的实践经验分享之ORM的思考
原文:领域驱动设计(DDD)的实践经验分享之ORM的思考 最近一直对DDD(Domain Driven Design)很感兴趣,于是去网上找了一些文章来看看,发现它确实是个好东西.于是我去买了两本关于 ...
- 领域驱动设计(DDD)的实践经验分享之持久化透明
原文:领域驱动设计(DDD)的实践经验分享之持久化透明 前一篇文章中,我谈到了领域驱动设计中,关于ORM工具该如何使用的问题.谈了很多我心里的想法,大家也对我的观点做了一些回复,或多或少让我深深感觉到 ...
- Sobol 序列并行化的实践经验
目录 Sobol 序列并行化的实践经验 随机数发生器并行化的常见策略 Sobol 序列的原理和跳转功能 Sobol 序列并行化实践 分块策略 蛙跳策略 蛙跳策略的计算量分析 减少异或计算的技巧 分块策 ...
随机推荐
- linux内核堆栈
一:进程的堆栈 内核在创建进程的时候,在创建task_struct的同时会为进程创建相应的堆栈.每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存 在于内核空间.当进程在用户空间运行时,c ...
- MYSQL使用方法
显示所有数据库:show databases; 创建数据库:create database 数据库名; 删除数据库:drop database 数据库名: 查看表结构: describe(desc ...
- Tiny4412之外部中断
一:外部中断 在之前我们学习按键驱动的时候,我们检测按键有没有按下是通过轮循的方式(也就是我们说的死循环),这样虽然可以检测实现按键,但太浪费系统资源了,不论我们按键中断有没有发生,cpu都要一直进行 ...
- 「JavaScript」JS四种跨域方式详解
原文地址https://segmentfault.com/a/1190000003642057 超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript ...
- sessionStorage的保存和获取
保存一组数组,需要转换为字符串格式: var arr = [1,2,3]; var str = JSON.stringify(arr); window.sessionStorage.setItem(' ...
- 最短寻道优先算法----SSTF算法
请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短 java代码实现如下: import java.ut ...
- Python 字符串大小写转换
以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等: # Filename : test.py # author by : www.runoob.com str = "ww ...
- poj~1236 Network of Schools 强连通入门题
一些学校连接到计算机网络.这些学校之间已经达成了协议: 每所学校都有一份分发软件的学校名单("接收学校"). 请注意,如果B在学校A的分发名单中,则A不一定出现在学校B的名单中您需 ...
- orcl数据库先决条件检查时失败
在服务里面开启下面服务,在cmd输入 services.msc 就能打开[服务] 在cmd输入以下命令 我的是server服务没开,然后开了资源共享,就安装成功了
- .net core使用Ocelot+Identity Server统一网关验证
源码下载地址:下载 项目结构如下图: 在Identity Server授权中,实现IResourceOwnerPasswordValidator接口: public class IdentityVal ...