CN114637662A - 一种rpa流程自动化录制控制方法及系统 - Google Patents
一种rpa流程自动化录制控制方法及系统 Download PDFInfo
- Publication number
- CN114637662A CN114637662A CN202210520912.6A CN202210520912A CN114637662A CN 114637662 A CN114637662 A CN 114637662A CN 202210520912 A CN202210520912 A CN 202210520912A CN 114637662 A CN114637662 A CN 114637662A
- Authority
- CN
- China
- Prior art keywords
- module
- recording
- mouse
- user
- initialization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种RPA流程自动化录制控制方法及系统,应用到前置初始化模块、AI智能窗口识别模块和连续录制模块;前置初始化模块实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象;AI智能窗口识别模块接收鼠标键盘传入的消息参数,以及区域参数,分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块;连续录制模块结合前置初始化模块和AI智能窗口识别模块提供的参数识别操作目标,通过内置的UI元素分析功能自动分析提取目标元素的特征和属性,保存为临时数据,再根据用户操作消息导向自动选择连续录制模块的执行路线。
Description
技术领域
本发明涉及智能窗口类型识别、连续录制技术领域,特别涉及一种RPA流程自动化录制控制方法及系统。
背景技术
RPA技术又叫流程自动化技术,使用RPA软件的流程编辑器,设计和开发出能够自动处理工作流程的机器人软件。机器人可以部署到目标平台或系统当中,实现模拟人工完成一系列指定流程操作。比如操作浏览器、桌面应用、电子表格、邮件等各类信息化办公软件,模拟点击、模拟输入、操作系统资源管理器等。有效替代人工处理繁复、单一操作流程的同时,无需对原生平台或系统进行改造,极大降低了使用门槛,使企事业或个人在不改变原有业务模式的前提下,高效的实现降本增效。在针对编程零基础的用户方面,目前的RPA厂商引入了录制模块这样一种功能模块,目的是通过录制操作过程的方式,将用户的操作直接转化成计算机可以识别的可复用的代码块,而不需要用户掌握复杂的编程语言和思维,从而降低了RPA软件的使用门槛,使软件本身更加易用。
现有的RPA录制控制模块,启动之后会先进入弹窗选择界面,用户选择操作对象类型及相应的操作方法后,录制控制模块会启动录制初始化,初始化完成后即进入用户操作监听环节,待用户完成录制操作,按照初始化前选择的对象类型及方法,返回录制结果并回到弹窗选择界面。(即一次完整的录制过程,每次录制操作完成后都要返回到弹窗选择界面)完成全部录制操作后,点击保存即可生成对应的代码块。当用户点击运行代码块,就会按照用户先前录制的操作步骤,自动执行一次相同的操作。
录制初始化:当前领域内,录制初始化包含捕获监测键盘鼠标消息初始化(实时获取鼠标、键盘消息),屏幕高频截屏加双缓存初始化(能够在不影响鼠标、键盘操作,并且不会对屏幕显示的任何元素进行操作的情况下,定位到目标元素),且只有录制初始化之后才能进行录制操作。
录制操作:接收键盘鼠标实时消息,结合用户初始化前选择的操作对象类型及方法,定位到操作目标,同时使用UIA(用户界面自动化)、MSAA(微软活动辅助功能)技术,分析并获取目标特征属性后,按照特定的格式返回结果。完成录制操作后需要返回录制初始化前的窗口(操作选择界面)。
由此,上述现有的RPA流程自动化录制控制模块相关技术存在以下缺点:
1、操作对象类型选择及方法在录制初始化之前就要选定(即初始化滞后);
2、录制控制模块实际录制操作过程过于繁琐,影响录制流畅性、增加耗时。
还有传统RPA的录制功能,对录制操作有较高要求,需要录制操作步骤不能过多,过于复杂,这样才能体现录制控制模块的便捷性、易用性。但是在大部分场景下,用户面对的操作需求都是冗长且复杂的,甚至会遇到一些无法录制的窗口或元素,如某些基于Java(一门面向对象编程语言)开发的应用程序。这种情况下,要使用录制控制模块来开发流程,就要保证录制效率及流畅性,例如:当用户移动鼠标时,能够实时让用户感知当前鼠标指向的元素或窗口是否能被录制。同时还需要让整个录制过程更加流畅,例如:只要用户不改变录制操作方法,例如:接下来的操作都是使用鼠标左键单击这一方法,用户只需选择一次操作方法,就可以对当前屏幕上任意可录制对象进行一系列录制操作,当确定结束录制操作时,这些录制操作会依照用户的操作顺序,以鼠标左键单击的操作方式,返回成指定格式的代码块。现有的RPA领域均未考虑到使用这种技术架构来实现录制控制模块。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种RPA流程自动化录制控制方法及系统,采用前置录制初始化的方案,使整个录制模块始终处于初始化环境,采用AI智能窗口识别技术,能够让用户实时感知操作对象是否能被录制,同时采用连续录制技术,让用户在进行录制操作时更加流畅便捷,通过以上三种方式,提升录制控制模块的易用性和时效性。
首先,采用前置初始化,包括捕获监测键盘鼠标消息初始化,屏幕高频截屏加双缓存初始化,实时获取鼠标键盘消息,且不会直接操作屏幕窗口或元素本身,使整个录制模块始终处于初始化环境。为其他模块提供环境基础。
第二,采用AI智能窗口识别技术,智能识别窗口类型,结合前置初始化,让用户实时感知窗口或元素能否被录制。
第三,采用连续录制技术,结合前置初始化、AI智能窗口识别技术,通过监测系统消息的方式和用户高效的进行交互,减少不必要的界面交互,以此来优化整个录制操作的使用体验,提升录制控制模块整体效率。
录制控制模块的前置初始化模块通过实时监测键盘鼠标消息,高频截屏加二值化技术为整个录制控制模块提供了环境基础。
在初始化环境下,AI智能窗口识别技术,能够实时高效的识别窗口类型,让用户实时感知操作对象能否被录制。
整个录制控制模块同用户的交互核心,是连续录制模块,在接收到用户的消息导向(主要包括操作方法消息,完成录制消息,及放弃录制消息)后,结合前置初始化模块及AI智能窗口识别模块提供的参数识别操作目标,通过连续录制模块内置的UI识别功能,自动分析提取目标元素的特征和属性,保存为临时数据,根据用户传入的消息导向自动选择录制模块的执行路线。
通过实时监测系统消息的方式和用户高效的进行交互,减少不必要且耗时、不流畅的界面交互,以此来实现一种全新的录制控制模块方案,使录制更加易用、高效。
针对现有技术的不足,本发明申请具体通过以下内容进行解决:
1、针对以往RPA机器人每次执行录制操作都要进行初始化的问题,采用前置初始化,在启动录制控制模块时,立即进行初始化,且整个录制过程仅有一次初始化的方案。通过捕获监测键盘鼠标消息技术及屏幕高频截屏加双缓存技术,使用户第一时间处于初始化环境,后续的技术启用及用户操作,都是在该环境下进行,从根本上解决了重复初始化耗时耗资源的问题;
2、针对用户无法实时感知操作目标是否可被录制的问题,采用AI智能窗口识别技术,通过高亮或异色等展示方式,让用户实时感知操作目标是否可被录制。AI智能窗口识别技术是将各种窗口类型的识别技术封装到一起,通过特定算法,自动匹配窗口类型,再对比录制模块所能处理的类型库,给出判断结果,并将结果传给前端进行展示,让用户在录制前就能实时感知操作目标是否可被录制。解决了用户目前只能在录制时,才能获知操作目标是否能被录制,避免了可能出现的无效操作,省时增效;
3、针对录制过程不流畅,录制耗时过长的问题,采用连续录制的技术方案来解决,录制控制模块接收到用户选择的操作方法消息,结合前置初始化模块及AI智能窗口识别模块传入的参数,识别目标元素或窗口,通过连续录制模块内置的UI分析功能,分析并获取目标的特征和属性,存为临时数据,且连续录制模块自动进入等待状态,等待接收用户下一次的操作消息。其中操作方法消息由用户根据实际需求进行切换传入,当操作方法没有改变时,用户只需要依照正常操作流程的方式,连续完成录制操作即可。当接收到完成录制的消息时,录制模块将录制到的所有操作数据按照指定格式输出为代码块返回,供用户进行复用。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种RPA流程自动化录制控制方法,应用到前置初始化模块、AI智能窗口识别模块和连续录制模块;
前置初始化模块实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象;
AI智能窗口识别模块接收前置初始化模块中鼠标键盘传入的消息参数,以及鼠标目前所选择的对象所包含的区域参数,分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块;
连续录制模块结合前置初始化模块和AI智能窗口识别模块提供的参数识别操作目标,通过内置的UI元素分析功能自动分析提取目标元素的特征和属性,保存为临时数据,再根据用户操作消息导向自动选择连续录制模块的执行路线。
进一步优选为,鼠标在屏幕上的绝对坐标具体通过设置区域放大镜显示,区域放大镜指放大鼠标所处位置的一块具有一定空间形状的区域。
进一步优选为,高亮显示鼠标目前所选择的对象所包含的区域具体通过:
采用高频截屏加双缓存技术,第一时间获取到鼠标及鼠标当前指向的控件信息,在内存中进行预处理,处理完一部分就展示一部分到屏幕上。
进一步优选为,AI智能窗口识别模块将各种窗口类型的识别技术一起封装,通过各种识别技术分析窗口元素所对应的应用类型,通过特定算法自动匹配窗口类型,再对比连续录制模块所能处理的应用类型库,给出判断结果,并将结果传给前端向用户展示。
进一步优选为,连续录制模块在保存临时数据完成一次录制操作后,挂起不返回录制结果,等待用户操作消息,循环执行录制步骤,直到接收到用户停止录制消息,返回用户按时间线顺序执行的录制结果。
本申请内容的另外一个目的是提供一种RPA流程自动化录制控制系统,包括前置初始化模块、AI智能窗口识别模块和连续录制模块;
前置初始化模块实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象;
AI智能窗口识别模块接收前置初始化模块中鼠标键盘传入的消息参数,以及鼠标目前所选择的对象所包含的区域参数,分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块;
连续录制模块结合前置初始化模块和AI智能窗口识别模块提供的参数识别操作目标,通过内置的UI元素分析功能自动分析提取目标元素的特征和属性,保存为临时数据,再根据用户操作消息导向自动选择连续录制模块的执行路线。
进一步优选为,所述前置初始化模块包括监测鼠标键盘消息和高频截屏加双缓存两个子模块,监测鼠标键盘消息模块中应用系统接口的方式实现消息监测,实时动态捕捉键盘鼠标的响应消息;高频截屏加双缓存模块高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象。
进一步优选为,连续录制模块包括:
实时接收消息模块,通过自定义接口的方式,实时接收前置初始化模块、AI智能窗口识别模块传入的消息及用户的具体录制操作消息,确定用户需要操作的元素对象;
UI元素分析模块,获取到元素对象后,通过UI元素分析功能进一步定位到元素,并分析出元素的特征及属性,作为让录制的操作重新自动操作一次的依据;
临时数据及数据返回模块,将用户的操作过程存为临时的数据,用户通过对话框看到目前以及录制的全部操作。
综上所述,本发明对比于现有技术的有益效果为:
本发明独创性地将前置初始化、AI智能窗口识别技术和连续录制技术与RPA录制控制模块进行结合。首先对于录制操作开始才进行初始化及重复进行初始化的问题,采用前置初始化的方案进行优化,一次初始化,就能使整个录制模块始终处于初始化环境。其次,考虑到录制过程中可能会遇到无法录制的对象(窗口或元素),采用了AI智能窗口识别技术,结合初始化环境,让用户能够实时感知对象是否能被录制;
同时,考虑到录制的流畅性对于用户使用体验及录制耗时的影响,采用了连续录制技术方案,结合前置初始化和AI智能窗口识别技术,使得整个录制操作过程近似正常工作的操作流程,大幅提升录制的流畅性,缩短了录制耗时。全面实现了RPA录制控制模块的智能易用性和时效性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为实施例中系统整体框架示意图;
图2为实施例中基于前置初始化及AI智能识别窗口技术框架示意图;
图3为实施例中连续录制技术的参考示意图;
图4为实施例中功能架构图;
图5为实施例中连续录制模块的具体执行流程图;
图6为实施例中具体实施流程图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。说明书中的“实施例”或“实施方式”既可表示一个实施例或一种实施方式,也可表示一些实施例或一些实施方式的情况。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种RPA流程自动化录制控制方法及系统。
需要说明的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面对本发明中所涉及的技术术语进行简单描述,以便相关人员更好的理解本方案。
1、RPA及录制控制模块技术
RPA(Robotic Process Automation机器人流程自动化)是一种通过软件自动化技术,模拟人工操作的方式代替人工,在计算机上实现自动处理各类应用、浏览器和系统等对象的操作,从而高效达成执行业务操作,完成业务目标,最终实现降本增效。
从描述可知,RPA的核心技术之一就是模拟人工操作,代替人工完成业务流程。面对广大非编程类用户,编程零基础是使用编程类软件的最大障碍。
为此传统的RPA厂商纷纷推出录制控制模块(一种通过记录或录制操作过程,实现将操作转化成计算机能识别的代码块,从而达到复用效果的,简单易用的功能模块)来推进实现RPA在实际应用场景中的普及和推广。然而在实际工作流程中,用户主要面对的场景,需要操作的流程步骤是比较繁复的。而传统RPA的录制控制模块,由于其技术架构本身存在缺陷,仅适用在特定的操作步骤相对较少且复杂程度不高的场景,在面对主要场景时,无法达到连续顺畅的录制效果,甚至会有大量无效操作,很难满足实际需求。
2、前置初始化技术
前置初始化技术,是录制初始化的另一种技术方案,在录制控制模块启动后,第一时间启动初始化模块,通过监测鼠标键盘消息技术,实时获取鼠标键盘消息,通过高频截屏加双缓存技术,实现元素定位。
3、AI智能窗口识别技术
AI智能窗口识别技术,是通过封装各种类型应用识别技术,通过特定的算法,实现智能识别窗口或应用类型,对应到各种应用或窗口元素定位,使得元素定位更加高效,同时面对无法录制的窗口或元素时,能够让用户实时感知。
4、连续录制技术
连续录制技术是在传统录制技术的基础上,进行重新架构,基于前置初始化技术及AI智能窗口识别技术,在接收用户操作方法的消息后,自动定位并分析获取目标元素的特征和属性,并记录临时数据,同时继续等待用户新的操作指令消息。在用户结束录制时,自动生成按照指定格式输出的代码块,最终生成的代码块反映的就是用户整个录制操作的流程,能够被计算机识别并且具备可移植性和可复用性。
本发明所指的可移植性,指的是将录制生成的代码块转移到同类型其他计算机设备上,也能够正常浮现录制过程。而可复用性指的是,录制代码块可以重复实现录制过程所展现的实际操作流程。
一种RPA流程自动化录制控制方法及系统,流程如图1所示,包括前置初始化模块、AI智能窗口识别应用类型、连续录制模块、用户信息导向;
前置初始化模块,实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且通过高频截屏加双缓存技术在不影响鼠标键盘操作且不直接操作元素的情况下,定位到元素本身,高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象。该模块为用户随时都能进行录制操作,提供前置环境条件,也为后续的AI智能窗口识别技术模块及连续操作模块提供了技术支持。
AI智能窗口识别技术模块将各种窗口类型的识别技术封装到一起,例如:根据类名、标题识别基于win32(Microsoft Windows操作系统的32位环境)开发的应用,及部分基于Java(一门面向对象编程语言)开发的应用程序;通过取词识别系统桌面;根据类名、标题及UA(userAgent用户代理)判断浏览器类型等。通过特定算法,自动匹配窗口类型,再对比录制模块所能处理的应用类型库,给出判断结果,并将结果传给前端进行展示,让用户在录制前就能实时感知操作目标是否可被录制。为连续操作模块提供了技术支持。
连续录制模块是基于前置初始化模块及AI智能窗口识别技术模块实现的,通过接收前置初始化模块传入的键盘鼠标实时消息,通过AI智能窗口识别技术模块传入的窗口识别参数,智能识别用户需要操作的目标类型,同时接收用户选择的操作方法消息,通过UIA(UI Automation用户界面自动化)及MSAA(Microsoft Active Accessibility微软活动辅助功能)技术,定位并分析获取到目标元素的特征和属性,存为临时数据。
和传统录制模块不同,连续录制模块在完成一次录制操作后,挂起不返回录制结果,等待用户后续操作消息,操作信息可为操作方法消息及选择对象消息、结束录制信息和退出消息(放弃任务),如图1所示的用户消息1可实现循环执行录制步骤,直到接收到用户停止录制消息(用户消息2),返回用户按时间线顺序执行的录制结果。特别的,在用户更改操作方法的情况下,连续录制模块才会响应更新消息,否则会默认按照上一次操作方法进行录制。连续录制模块同样支持单步录制,在接收到单步录制消息时,将自动返回录制结果,并不会进入挂起状态。
现以网站页面为案例进行展示介绍,图4为以该案例为例,经过各个模块处理的功能架构图。
首先经过前置初始化模块的处理,具体可分为监测鼠标键盘消息、高频截屏加双缓存两个模块,监测鼠标键盘消息模块中应用系统接口的方式实现消息监测,实时动态捕捉键盘鼠标的响应消息,图4对应的区域放大镜(能够放大鼠标所处位置的一块矩形空间的区域)会实时显示鼠标在屏幕上的绝对坐标。
捕捉控件时,鼠标处于高速移动,要将用户鼠标经过的所有控件,一一高亮展示出来,就需要有一个高效的渲染机制。因此,通过高频截屏加双缓存模块,在这个时候会第一时间获取到鼠标及鼠标当前指向的控件信息,在内存中进行预处理,处理完一部分就展示一部分到屏幕上,这样就能够高亮显示鼠标目前所选择的对象所包含的区域(图4中通过高亮凸显边框的方式圈出目标区域),同时保证整个屏幕渲染的高效性,提升录制的整体流畅性。
接着AI智能窗口识别模块进行处理,具体可分为识别元素窗口类型和让用户感知是否可录制两部分,该模块的输入是前置初始化模块中,用户点击鼠标键盘返回的事件消息及控件参数。通过以上参数,结合AI智能算法,自动分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块。通过控件参数及操作系统API接口解析出窗口句柄对应的类名,核心采用自研AI智能窗口识别算法,根据类名确定窗口类型,根据窗口类型采用对应的识别技术,最终定位到目标控件。其中窗口类型是通过解析类名来判定,类名等于Internet Explorer_Server判定为IE浏览器类型,类名以SunAwt开头判定为Java类型窗口,类名等于Chrome_RenderWidgetHostHWND时,使用chrome插件访问元素,chrome插件采用封装JavaScript(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)脚本的方式实现对元素的访问,如元素响应则判定为chrome浏览器类型,如无响应则判定为win32程序,其余类名均判定为win32窗口。获取窗口类型后,IE浏览器类型、Java窗口类型、chrome浏览器类型采用窗口对应的API接口,来实现对元素的定位和操作。Win32窗口类型需要先通过系统API接口获取窗口面积,并通过MSAA(Microsoft Active Accessibility微软活动辅助功能)及UIA(UI Automation用户界面自动化)两种技术对元素向下层层解析,对比两种技术解析、计算得到的元素区域面积,将面积较小的值与Win32窗口的面积进行对比,如果该值小于Win32窗口的面积,则确定目标控件元素是包含在Win32窗口中,元素特征为MSAA(Microsoft Active Accessibility微软活动辅助功能)及UIA(UI Automation用户界面自动化)技术解析结果。如果该值等于Win32窗口的面积,则元素判定为窗口本身,元素特征为系统API解析结果。即最终特征结果是根据解析得到的元素面积来确定,比较元素面积的一种计算方式如公式所示:
公式中指的是任意元素通过三种方式获取到的面积,其中M(x,y)中x,y是通过调用MSAA(Microsoft Active Accessibility微软活动辅助功能)API接口解析获取到的元素区域长、宽值,M为计算得到的对应区域面积,U(x´,y´)中x´,y´是通过调用UIA(UI Automation用户界面自动化)API接口解析获取到的元素区域长、宽值,U为计算得到的对应区域面积,W(x ",y ")中x ",y "是通过调用系统API接口解析获取到的Win32窗口区域长、宽值,F(W)为通过系统API接口解析获取到的Win32窗口特征,F(U)为通过调用UIA(UI Automation用户界面自动化)API接口解析获取到的元素特征,F(M)为通过调用MSAA(Microsoft Active Accessibility微软活动辅助功能)API接口解析获取到的元素特征。图4中获取元素特征,定位元素就是通过此算法分析之后的结果,最终呈现给用户的元素特征是包含元素所在窗口的特征,经过整理格式化后,展现给用户。
最终通过连续录制模块的处理,具体为接收初始化消息、接收AI智能窗口识别模块消息、接收用户操作消息,分析UI元素获取属性,保存临时文件结束返回。
针对用户操作消息导向后续操作如图3所示,消息导向的方向可为录制消息参数、完成录制消息、放弃录制消息,如是录制消息参数,后续会进行UI元素定位、UI元素特征分析和属性获取、保存数据和系统挂起,最终会持续等待消息以进行后续操作;如是完成录制消息,后续是返回录制结果并退出录制模块;如是放弃录制消息则直接退出录制模块。
针对连续录制模块,具体包含实时接收消息、UI元素分析、临时数据及数据返回三个子模块。
实时接收消息模块:通过自定义接口的方式,实时接收前置初始化模块、AI智能窗口识别模块传入的消息及用户的具体录制操作消息。确定用户需要操作的元素对象。
UI元素分析模块获取到元素对象后,通过UIA(用户界面自动化)及MSAA(微软活动辅助功能)技术进一步定位到元素,并分析出元素的特征及属性,作为录制回显(让录制的操作重新自动操作一次)的依据。
临时数据及数据返回模块就是将用户的操作过程存为临时的数据,用户可以通过对话框(前端展示时,对话框将以贴边隐藏的形式展现,即鼠标悬停在屏幕右侧边框时才会弹出,离开对话框时自动隐藏)看到目前以及录制的全部操作。结合图5所示流程图与本发明图4所示可以看到,输入框中输入内容的操作,具体会进行页面选取目标输入框、定位识别选择的输入框、分析回去输入框的特征和属性,最终被保存为临时数据暂时挂起,在贴边对话框中得以展现。保存录制结果前,都可以选择是否删除其中的某个录制操作。当用户选择录制完毕,系统将自动生成相应的代码块,图4中可以看到以中文新式展现的最终代码块。完成整个录制过程后,录制控制模块就会自动退出。
各个模块应用到的技术方案具体描述如下:
1、前置初始化相关技术
监测鼠标、键盘消息,旨在实时获知用户进行了哪些操作,以便在录制的时候记录这些操作,通过模拟鼠标、键盘的消息,去复现用户的操作过程。通过高频截屏和双缓存,让用户能够感知录制控制模块正在启用,同时使录制控制模块使用过程流畅无卡顿。
2、AI智能窗口识别技术
AI智能窗口识别的主要目的就是,通过封装的各种应用识别模块,以及智能算法,自动的识别出目标对应的应用类型,在取得应用类型之后,能够更加快捷的选择对应的录制识别技术,让连续录制模块更加高效的运行。
3、连续录制相关技术
连续录制相关技术,主要目的是让用户使用过程中,能够以最接近人工操作完成业务流程的方式,完整流畅的记录下整个操作流程。每一步的操作既独立又连续,独立的是指每一步操作在分析录制阶段都是互不干扰的,录制模块仅针对当前操作的对象及相应的消息参数,进行识别记录。连续是指当这些录制操作在完成录制之后,能够以完整连续的形式复现整个操作过程,真正意义上的代替人工完成整个流程。
以如下RPA机器人操作浏览器邮箱登录流程为例,具体的实施流程图参照图6所示。
本发明的具体落地实施流程如下:
1、在使用RPA的录制控制模块时,在录制控制模块准备阶段首先会进行监测鼠标键盘消息模块的初始化,获取系统鼠标键盘的实时消息。
2、其次会进行高频截屏加双缓存模块的初始化,让用户直观的感知录制控制模块正在启用,同时让整个录制过程更加流畅不卡顿。
3、最后启动AI智能窗口识别模块,智能高效的判断窗口类别,为录制阶段面对不同类型应用启用对应分析技术提供支持,
4、在录制控制模块录制阶段,首先会通过监听键鼠参数、操作消息模块,获取鼠标键盘实时消息、应用类型参数以及用户的操作消息。该场景中会监听:鼠标选择的邮箱用户名输入框的坐标、应用类型为浏览器及操作方式为在输入框中输入文字这三种消息和参数。
5、根据上一步获取到的消息和参数,定位和识别用户所要操作的目标元素。获取到目标元素之后,会启用当前浏览器类型下的UIA技术,分析并识别出该输入框的特征和属性。
6、获取到元素的特征和属性后,会结合获取到的用户输入的键盘消息内容,临时生成一个录制数据,图4中智能录制窗口的内容,就是录制的临时数据,如果不想要这个操作,可以直接删除。
7、录制完成后即可自动生成对应的代码块,代码块会以中文的形式展现,内容就是用户的操作过程,如图4中返回的代码块就是直接表达用户在输入框中输入内容这样一种格式,让用户能够复用录制的同时,更容易理解和维护修改自己的录制结果。从而在整体录制过程中更加流畅和易用,减少录制耗时。
本发明独创性的采用一种前置初始化+ AI智能窗口识别+连续录制相结合的技术架构结合监测鼠标键盘消息技术、高频截屏加双缓存技术、AI智能窗口识别技术、UIA技术和MSAA技术来解决操作流程冗长且复杂的实际业务场景下录制不流畅、录制回显失败导致的录制耗时问题。
本发明的技术关键点如下:
1、创新性的结合前置初始化+ AI智能窗口识别+连续录制技术,解决传统RPA录制控制模块模块在面对实际冗杂且复杂的流程操作场景时,录制过程不流畅,回显失败耗费开发时间的问题,本发明的整体技术架构为独创;
2、定位操作目标的过程采用前置初始化的技术,并结合AI智能窗口识别技术,对用户操作的目标进行实时识别,以便连续录制模块在运行时更加高效、准确。
3、采用连续录制技术,在连续录制技术中针对性的使用UIA、MSAA分析和获取目标对象的特征和属性,并结合当前录制操作完成后挂起,继续等待新的录制操作消息这一技术架构,提升了录制的流畅性,缩短了实际录制的耗时,该项技术在本领域据调研为首次应用。
针对录制过程不流畅及录制回显不生效造成的开发耗时的问题,创新性的引入前置初始化+ AI智能窗口识别+连续录制技术,通过该技术,可以更准确的定位、识别目标,进而可以流畅、连续的处理操作流程冗长且复杂的实际业务,减少录制耗时,达到高效录制操作的效果。
以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。
Claims (8)
1.一种RPA流程自动化录制控制方法,其特征在于,应用到前置初始化模块、AI智能窗口识别模块和连续录制模块;
前置初始化模块实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象;
AI智能窗口识别模块接收前置初始化模块中鼠标键盘传入的消息参数,以及鼠标目前所选择的对象所包含的区域参数,分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块;
连续录制模块结合前置初始化模块和AI智能窗口识别模块提供的参数识别操作目标,通过内置的UI元素分析功能自动分析提取目标元素的特征和属性,保存为临时数据,再根据用户操作消息导向自动选择连续录制模块的执行路线。
2.根据权利要求1所述的一种RPA流程自动化录制控制方法,其特征在于,鼠标在屏幕上的绝对坐标具体通过设置区域放大镜显示,区域放大镜指放大鼠标所处位置的一块具有一定空间形状的区域。
3.根据权利要求1所述的一种RPA流程自动化录制控制方法,其特征在于,高亮显示鼠标目前所选择的对象所包含的区域具体通过:
采用高频截屏加双缓存技术,第一时间获取到鼠标及鼠标当前指向的控件信息,在内存中进行预处理,处理完一部分就展示一部分到屏幕上。
4.根据权利要求1所述的一种RPA流程自动化录制控制方法,其特征在于,AI智能窗口识别模块通过控件参数及操作系统API接口解析出窗口句柄对应的类名,然后通过解析类名来判定窗口类型,通过MSAA及UIA两种技术分析窗口元素所对应的应用类型,再对比连续录制模块所能处理的应用类型库,给出判断结果,并将结果传给前端向用户展示。
5.根据权利要求1所述的一种RPA流程自动化录制控制方法,其特征在于,连续录制模块在保存临时数据完成一次录制操作后,挂起不返回录制结果,等待用户操作消息,循环执行录制步骤,直到接收到用户停止录制消息,返回用户按时间线顺序执行的录制结果。
6.一种RPA流程自动化录制控制系统,其特征在于,包括前置初始化模块、AI智能窗口识别模块和连续录制模块;
前置初始化模块实时获取鼠标键盘信息,实时显示鼠标在屏幕上的绝对坐标,并且高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象;
AI智能窗口识别模块接收前置初始化模块中鼠标键盘传入的消息参数,以及鼠标目前所选择的对象所包含的区域参数,分析窗口元素所对应的应用类型,并将其作为输出参数传给连续录制模块;
连续录制模块结合前置初始化模块和AI智能窗口识别模块提供的参数识别操作目标,通过内置的UI元素分析功能自动分析提取目标元素的特征和属性,保存为临时数据,再根据用户操作消息导向自动选择连续录制模块的执行路线。
7.根据权利要求6所述的一种RPA流程自动化录制控制系统,其特征在于,所述前置初始化模块包括监测鼠标键盘消息和高频截屏加双缓存两个子模块,监测鼠标键盘消息模块中应用系统接口的方式实现消息监测,实时动态捕捉键盘鼠标的响应消息;高频截屏加双缓存模块高亮显示鼠标目前所选择的对象所包含的区域以明确区分目标操作对象及其他对象。
8.根据权利要求6所述的一种RPA流程自动化录制控制系统,其特征在于,连续录制模块包括:
实时接收消息模块,通过自定义接口的方式,实时接收前置初始化模块、AI智能窗口识别模块传入的消息及用户的具体录制操作消息,确定用户需要操作的元素对象;
UI元素分析模块,获取到元素对象后,通过UI元素分析功能进一步定位到元素,并分析出元素的特征及属性,作为让录制的操作重新自动操作一次的依据;
临时数据及数据返回模块,将用户的操作过程存为临时的数据,用户通过对话框看到目前以及录制的全部操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520912.6A CN114637662B (zh) | 2022-05-13 | 2022-05-13 | 一种rpa流程自动化录制控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520912.6A CN114637662B (zh) | 2022-05-13 | 2022-05-13 | 一种rpa流程自动化录制控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114637662A true CN114637662A (zh) | 2022-06-17 |
CN114637662B CN114637662B (zh) | 2022-08-26 |
Family
ID=81952979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210520912.6A Active CN114637662B (zh) | 2022-05-13 | 2022-05-13 | 一种rpa流程自动化录制控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637662B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857782A (zh) * | 2022-12-22 | 2023-03-28 | 深圳市普洛威电子有限公司 | 一种基于人工智能的自动化信息录入方法和系统 |
CN115964027A (zh) * | 2023-03-16 | 2023-04-14 | 杭州实在智能科技有限公司 | 基于人工智能的桌面嵌入式rpa流程配置系统及方法 |
CN115983221A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 可视化的rpa表格操作录制与自动执行方法及系统 |
CN116302621A (zh) * | 2023-05-19 | 2023-06-23 | 杭州实在智能科技有限公司 | 基于qt界面库的信创环境元素拾取方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307865A1 (en) * | 2010-06-11 | 2011-12-15 | Microsoft Corporation | User interface inventory |
CN111126781A (zh) * | 2019-11-29 | 2020-05-08 | 苏宁云计算有限公司 | Rpa业务流程的创建方法及系统 |
CN113176922A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的界面元素自动探测系统 |
CN113885855A (zh) * | 2021-09-29 | 2022-01-04 | 杭州分叉智能科技有限公司 | 一种基于输入跟随的rpa指令智能录制方法 |
CN114428575A (zh) * | 2022-01-24 | 2022-05-03 | 京北方信息技术股份有限公司 | 一种界面元素探测识别方法、装置、存储介质及电子设备 |
-
2022
- 2022-05-13 CN CN202210520912.6A patent/CN114637662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307865A1 (en) * | 2010-06-11 | 2011-12-15 | Microsoft Corporation | User interface inventory |
CN111126781A (zh) * | 2019-11-29 | 2020-05-08 | 苏宁云计算有限公司 | Rpa业务流程的创建方法及系统 |
CN113176922A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的界面元素自动探测系统 |
CN113885855A (zh) * | 2021-09-29 | 2022-01-04 | 杭州分叉智能科技有限公司 | 一种基于输入跟随的rpa指令智能录制方法 |
CN114428575A (zh) * | 2022-01-24 | 2022-05-03 | 京北方信息技术股份有限公司 | 一种界面元素探测识别方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
刘红刚等: "DCS软件界面自动化测试技术研究与应用", 《自动化博览》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857782A (zh) * | 2022-12-22 | 2023-03-28 | 深圳市普洛威电子有限公司 | 一种基于人工智能的自动化信息录入方法和系统 |
CN115964027A (zh) * | 2023-03-16 | 2023-04-14 | 杭州实在智能科技有限公司 | 基于人工智能的桌面嵌入式rpa流程配置系统及方法 |
CN115983221A (zh) * | 2023-03-17 | 2023-04-18 | 杭州实在智能科技有限公司 | 可视化的rpa表格操作录制与自动执行方法及系统 |
CN116302621A (zh) * | 2023-05-19 | 2023-06-23 | 杭州实在智能科技有限公司 | 基于qt界面库的信创环境元素拾取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114637662B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114637662B (zh) | 一种rpa流程自动化录制控制方法及系统 | |
US9823808B2 (en) | Methods and devices for recording changes in visual stimuli observed through browser-based interfaces | |
US7979849B2 (en) | Automatic model-based testing | |
CN114461122B (zh) | Rpa元素拾取同屏切换方法及系统 | |
JP2002544584A (ja) | 行動およびホストアプリケーションモデルを使用するソフトウェアアプリケーションにおいてダイナミックアシスタンスをするためのシステムおよび方法 | |
AU2013287381A1 (en) | Method and apparatus for controlling application by handwriting image recognition | |
CN112269799A (zh) | 一种数据查询方法、装置、设备和介质 | |
CN111124371A (zh) | 一种基于游戏的数据处理方法、装置、设备及存储介质 | |
WO2021142771A1 (zh) | 服务工单生成方法、装置及系统 | |
US6424978B1 (en) | Formatting card-based hypermedia documents by automatic scripting | |
CN114416516A (zh) | 基于截图的测试用例及测试脚本生成方法、系统及介质 | |
CN116737928B (zh) | 平台用户需求的文本挖掘方法、系统及云平台 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
JP3942098B2 (ja) | 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体 | |
CN116012753A (zh) | 视频处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112612469A (zh) | 一种界面元素的处理方法、装置和电子设备 | |
CN115080043A (zh) | 数据可视化处理方法、装置、前端设备及存储介质 | |
CN113468050A (zh) | 基于画布的测试方法、装置、计算机设备及存储介质 | |
JPH09237274A (ja) | Www用htmlファイル作成方法及び装置 | |
CN117935273A (zh) | 一种基于增强现实的实时文本识别与交互方法 | |
CN117707921A (zh) | web端页面检测方法 | |
CN113641933A (zh) | 异常网页识别方法、异常站点识别方法及装置 | |
CN117667312A (zh) | 一种工具部署方法、装置、容器云平台及存储介质 | |
CN114139511A (zh) | 响应式报表的实现方法、系统以及存储介质 | |
CN103135986A (zh) | 一种操作采集方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |