当前位置: 首页 > Web前端 > HTML

SAP智能机器人流程自动化(iRPA)解决方案分享

时间:2023-03-29 12:53:49 HTML

著名典型《终结者》系列结构的世界观,人类与以天网为核心的人工智能程序无法共存,双方不是你就是我。在现实世界中,基于人工智能的机器人流程自动化是智慧企业的得力助手。所谓智能企业的一个特点是能够将复杂但低附加值的重复流程自动化。通过自动化,可以将宝贵的人力资源投入到更高附加值的工作中,比如提供产品和服务质量,提升用户体验。对于老旧的ABAP驱动,SAP脚本录屏和SAPeCATT(扩展计算机辅助测试工具)都是功能自动化测试的利器,可惜只能在SAPGUI环境下工作。随着全球企业数字化转型趋势不断深入,涌现出一大批智能机器人流程自动化(IntelligentRoboticProcessAutomation,简称iRPA)解决方案提供商,如该领域的领军企业UIpath、Blueprism、AutomationAnywhere、和国内供应商易赛奇、UiBot、鸿基旋风、云阔科技等。就在去年,SAP也发布了自己的iRPA解决方案:该方案基于SAP云平台CloudFoundry环境,支持云端部署,完成原本重复性的工作通过编写、安排、管理和监控机器人工作流程所需的手动工作。操作。SAPiRPA的智能体现在它与SAPLeonardoConversationAI服务的无缝集成。除了iRPA解决方案本身,SAP还发布了多种基于SAP的预定义产品,如S/4HANA智能机器人流程脚本,帮助客户加速企业流程的自动化。不同于很多RPA解决方案采用基于屏幕录制的实现原理,SAPiRPA基于API和元数据实现机器人自动运行,从根本上避免了产品界面变更后原流程脚本无法运行的可能性。下面就跟随笔者,从一个HelloWorld项目开始了解SAPiRPA吧。我例子的场景很简单。我用SAPiRPA驱动本地电脑的计算器应用,自动点击4+2=按钮。至于SAPiRPA如何驱动S/4HANA运行一些自动化流程,留待以后研究。先看这个例子的demo,演示了如何单步调试用SAPiRPA开发的机器人自动化脚本。到SAP官网下载本场景需要的两个工具:SAPIntelligentRoboticProcessAutomationDesktopStudio和SAPIntelligentRoboticProcessAutomationDesktopAgent。顾名思义,Studio是机器人开发工具,Agent是机器人程序的运行环境。首先打开Studio并创建一个新的应用程序。这个应用程序是我希望由SAPiRPA驱动的计算器应用程序,我称之为主机应用程序。单击添加应用程序后,从下拉列表中选择UIAutomation。此列表代表SAPiRPA用于识别、连接和驱动主机应用程序的基础技术。在本地打开Windows自带的计算器应用calc.exe,在SAPiRPA中刷新,就可以看到这个应用对应的进程。在进程列表中选择计算器,在右侧的预览窗口中可以立即看到它的界面。单击SaveandCapturePage,SAPiPRA将与计算器应用程序建立连接。永远记住我们的目标是使用SAPiRPA实现计算器应用的按钮点击,所以我们首先要定位到计算器上的4、+、2、=按钮。至此,SAPiRPA中的计算器为空页面,点击CaptureaNewPage:按住Ctrl键,将鼠标放在计算器应用上,SAPiRPA会智能识别计算器应用窗口句柄:pWindowCalculator,点击ScanAnd此时捕获:注意,此时在左侧的Calculator节点下,出现了刚刚捕获的窗口句柄pWindowCalculator,计算器应用程序的界面出现在屏幕的中间区域。我们双击按钮4:现在屏幕左侧的树形结构中也出现了按钮4,也就是说按钮4也被我们标记为需要SAPiRPA操作的UI元素。对剩下的+、2、=按钮重复以上操作,完成后界面如下。接下来,我们需要根据这些捕获的按钮编写一些逻辑。切换到工作流视图,新建一个工作流工作流:创建工作流后,默认只有一个起始节点:包括维护。将计算器应用的UI拖到工作流编辑页面:双击计算器应用的UI,可以编辑其内部的UI元素。在Activities面板中,找到Click动作,并将其拖动到屏幕中间的4、+、2和=按钮。拖放完成后,这些按钮上会显示被点击的序号和Click事件的名称。至此,我们就完成了机器人的建模。从过程中可以看出,即使建模者没有编程技能,也可以顺利完成这个任务。我们还需要单击Build按钮来生成运行时代码。点击Build按钮后,出现node.exe运行界面,说明SAPiRPA的底层运行是基于nodejs的。Build完成后,我们可以看到自动生成的机器人脚本代码。正如侯捷先生所说,“源码面前无秘密”。通过阅读自动生成的JavaScript源码,我们可以将SAPiRPA的工作原理与另一种流行的浏览器自动化测试框架Selenium进行类比:两者定位到应用界面的某个元素后,调用该元素对应的方法,不同的是Selenium通过web应用页面标签的ID来定位元素,而本例中的SAPiRPA使用UIAutomation来定位计算器应用的按钮。从上图可以看出,SAPiRPA自动生成的JavaScript脚本可以一步调试。点击Debug按钮,SAPiRPA调试器弹出。如果之前设置了断点,现在就可以像调试一般的JavaScript代码一样进行单步调试了:当然,SAPiRPA能做的远不止这个简单的HelloWorld,它最有价值的地方在于它是基于SAP的CloudPlatform的云部署以及与SAP标准产品的无缝集成,即企业级软件领域的集成与应用。总结本文首先介绍了SAP智能机器人流程自动化(iRPA)的适用场景,然后通过一个实际的例子来演示如何编写iRPA程序与本地计算器应用进行交互,让初学者对使用iRPA直观的理解。