日前我正在做RPA软件的开发,坑踏过不少,UIPath、UIBot也研究过、逆向过。
建议如下:
1、开发平台选择很重要 !
为什么这么说呢,我当前的开发,是基于java的,桌面端自动化是基于c/c++的,浏览器自动化是基于Web自动化测试工具的。
开发过程很痛苦,迈过无数的坑:java通信迈过了JNI、JNA、JCOM、JACOB;桌面自动化迈过了MS UIA;浏览器自动化……别说了,三个浏览器兼容性就够喝一壶的;SAP自动化又把坑基本重走了一边。
建议是:
由于桌面自动化、IE自动化、SAP自动化都可以在C#环境下超级方便的实现,所以推荐使用C#实现底层的自动化,可以整体都使用C#开发,毕竟客户端也是C#的强项;也可以单用C#提供底层实现的服务。
2、VisualSelector(鼠标选择器)的实现。
通过使用UIPath,我们发现他的VisualSelector,极其流畅、丝滑,并且支持F2暂停再选。
那么我踏过的坑呢:
1)MouseHook:hookProc中任何一点复杂处理都会严重影响鼠标流畅度,体验极差
2)setCapture:体验极其流畅,但是无法实现暂停后再选(MouseDown的限制)。
3)Timer:体验一般,但是没有上两个问题严重。
所以最终,我采用了三法混用来实现这个功能,虽然远不及UIPath,但是对于初次涉猎RPA开发甚至初次做C++/Win开发的我来说,暂时已经可以了。
3、浏览器自动化的实现
我可以肯定的说,UIPath的浏览器自动化:IE使用mshtml实现,其他基本都是使用浏览器插件来实现(叫啥来着PAPI。
我踏过的坑呢览器自动化工具实现。简直不要太难受 ,效率、体验都很差,而且自动化操作的浏览器只能通过webdriver打开,自己点开的并不能用。但是!能实现自动化。我们说不求一步登天,但求迈出这一步。
4、SAP自动化的实现
SAP GUI的自动化不同于桌面自动化、浏览器自动化,它提供两个COM操作库来实现。基本来说,三个自动化场景,这个是相对简单的,但是不得不吐槽:但为SAP提供一个自动化实现 总感觉很亏
总结:
RPA目前是世界的新风口,全球资本疯狂入场,国外巨头垄断,国内刚刚起步,这块蛋糕很大,但是做好,做精是每个RPA从业者的Dream
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!