日前我正在做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: