开源RPA之路 之闭环解决方案

RPA(约等于)UI自动化测试 吗?

相比传统软件开发,RPA机器人的开发是比较“新”的。这个新只是概念上的“新”,因为它一直存在于传统软件开发的过程中。当我提起(UI自动化测试)的名头,你会不会有所感悟。为什么我会这么说,因为它们的核心是完全一样的,只是目的不同。RPA的目的是要把数据正确的导入系统中,或者操作系统下载数据。而UI自动化测试则是通过异常数据对系统的操作从而发现系统存在的问题。那么我们可以看到他们的核心都是操作系统软件,只是目的不同而已。在我看来RPA(约等于)UI自动化测试。用一些开源自动化框架(selenium或者PUP/Win32API/UIA)足可以替代UIPath/AA/BP等软件的绝大部分功能。

RPA开源架构设计

1)开发语言:选择一种你熟悉的语言(JAVA/C#/VBA/Python等等),作为编写业务逻辑的场所及封装RPA机器人可执行程序的平台。

2)RPA接口:浏览器API(selenium/Pup),WindowFormAPI(Win32API/UIA),鼠标控制类,文件控制类,文件夹控制类,Excel控制类,Log控制类,Xml控制类,PDF控制类,Mail控制类等等

(以上接口通过标准化封装后可以大大缩减开发时间以及日后维护成本)

3)控制器:通过windows自带(计划任务)可设置软件执行的日期及时间。配合Bat批处理文件可设置程序启动时间间隔(批处理文件可获取程序运行状态,如果已经到了下一次执行时间,批处理文件可先检测程序是否运行,如果运行将跳过本次预定执行)。

4)监控软件:(集群管理):因我们已经标准化了RPA的机器人的Log文件输出形式。可利用UDP通讯机制+多线程+队列开发出一款针对RPA机器人log进行监控的监控软件。

当然UIpath/AA/BP等产品的功能不止这么多,对于其他一些功能如验证码识别等都属AI的OCR图文识别领域。至于其他功能我相信传统开发语言优势更为明显。

为何更喜欢传统开发语言结合RPA自动化框架这种方式,它的优势很明显(稳定/可结合最新的框架/免费/设计思路清晰),这种结合方式可以把RPA产品代码量控制在千行以内。可以想象一个RPA工具只需要5人日左右就可开发完成,一个操作就是一行代码(只需要传递相关参数)。传统RPA产品为了适合各种场景,会把很多功能进行拆分以便灵活使用,但对于开发者来说就变得相对繁琐,比如对一个文本框进行数据录入。传统的RPA平台就需要编写至少两部操作。第一步需要录入,第二部需要对录入数据进行验证。用开源框架就可以自己编写框架核心技能把这两个操作整合在一个方法内。从而简化了开发步骤。类似这样的功能还有很多就不一一举例。一个上线的RPA机器人是否合格,一看稳定性,二看易用性,三看可维护性,四看性价比。基于这四点上这种模式完全满足。

总结:这套方案是成熟的,也是不成熟的。成熟的是这套方案是从千百个项目中总结出来的,同时也是不成熟的不成熟是运用的人还不够多,面对的场景还不够广。希望能找到这方面有着兴趣的有识之士一起能把这条路走的更远。

(如果你对这种模式感兴趣,可留言。我们相互学习)

 

本文来自RPAPlus