CN113312129B - 软件操作流程自动化机器人方法、系统、装置及介质 - Google Patents
软件操作流程自动化机器人方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN113312129B CN113312129B CN202110566676.7A CN202110566676A CN113312129B CN 113312129 B CN113312129 B CN 113312129B CN 202110566676 A CN202110566676 A CN 202110566676A CN 113312129 B CN113312129 B CN 113312129B
- Authority
- CN
- China
- Prior art keywords
- control
- language
- software
- executor
- flow
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- 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)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件操作流程自动化机器人方法、系统、装置及介质,其中方法包括以下步骤:根据操作描述脚本语言,确定流程步骤数据的标准;采用语言解析器对所述流程步骤数据进行解析;采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况。本发明通过规范流程步骤数据的定义,语言解析器对流程表数据解析,语言执行器执行解析的数据,达到机器人按照既定的流程表输出自动化操作软件界面的效果;另外,提供系统异常处理机制检测数据的合法性和软件操作过程中出现的异常状况处理;降低人工错误率和时间成本,而且提高工作效率,可广泛应用于自动化控制领域。
Description
技术领域
本发明涉及自动化控制领域,尤其涉及一种软件操作流程自动化机器人方法、系统、装置及介质。
背景技术
Robotic Process Automation(RPA)是指软件自动化方式实现在各个行业中本来是人工操作计算机完成的业务。它让软件机器人自动处理大量重复的、基于规则的工作流程任务。它依靠先进的软件自动化技术,极大降低了开发成本和开发周期,实现了企业内部跨系统以及工作流程的自动化工作,提高生产效率并降低了成本。
近年来,国际上RPA机器人产品的应用开发越来越趋向于成熟。Blue Prisma、UiPath和Automation Anywhere并称“RPA三巨头”,通过上述软件建立流程表模型进而实现流程的自动化执行。现有的RPA机器人产品,如:阿里云RPA、平安云RPA、UiBot;这些产品技术的共通之处在于:通过对控件精准抓取、模拟鼠标点击与键盘输入操作控件、人工智能算法等技术相结合,协助各个领域的用户实现相应业务的流程的设计和自动化执行。但由于绝大多数RPA产品采用编程语言思想定义流程步骤数据,且功能复杂化,从而导致上手难度大。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种软件操作流程自动化机器人方法、系统、装置及介质。
本发明所采用的技术方案是:
一种软件操作流程自动化机器人方法,用于控制软件按照预定的流程自动化操作,包括以下步骤:
根据操作描述脚本语言,确定流程步骤数据的标准;
采用语言解析器对所述流程步骤数据进行解析;
采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;
根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况。
进一步,所述操作描述脚本语言包括Windows App操作描述脚本语言和Web操作描述脚本语言。
进一步,在Windows App操作描述脚本语言中,以流程表的形式设计12个字段:步骤序号、窗口类名、窗口标题、鼠标点击动作、文本内容、键盘输入动作、表字段名、模板图像本地路径、判断图像本地路径、流程执行状态、下一步骤序号、下一步骤序号;
在Web操作描述脚本语言中,以流程表的形式设计10个字段:步骤序号、网址、文本内容、鼠标事件、等待响应时间、控件抓取类型、控件抓取类型文本、跳转新页面、流程执行状态、下一步骤序号。
进一步,所述语言执行器包括Windows App执行器和Web执行器;
所述Windows App执行器包括控件模板匹配模块、控件坐标定位模块和控件操作模块;
所述模板匹配模块用于从软件窗口匹配出控件所在位置,获得控件匹配区域;其中,所述控件包括按钮和文本框;
所述控件坐标定位模块用于根据控件匹配区域获取操作点在操作界面上的坐标值;
所述控件操作模块用于根据获得的坐标值控制控件执行操作;
所述的Web执行器包括控件抓取模块和控件操作模块;
所述控件抓取模块用于从Web页面获取控件的位置信息;
所述控件操作模块用于根据所述位置信息控制控件执行操作;其中,操作包括鼠标点击操作和键盘输入操作。
进一步,所述语言执行器包括Windows App执行器和Web执行器;
Windows App执行器通过以下方式操作Windows App:
获取控件在对应的软件窗口的匹配区域,并获取匹配区域中心相对于软件窗口的坐标值;
获取对应软件窗口的左上角顶点相对于桌面的坐标,根据向量相加原理将控件匹配区域中心相对于软件窗口的坐标值转换为相对于桌面的坐标值,将坐标值传递给WinAPI的鼠标点击或键盘输入函数;
当坐标值传递给WinAPI的鼠标点击,通过鼠标点击函数模拟鼠标各种类型的点击动作;当坐标值传递给WinAPI的键盘输入函数,通过键盘输入函数模拟键盘输入和文本复制粘贴动作,从而实现机器人按照既定的步骤自动化操作Windows App。
进一步,所述语言执行器包括Web执行器;
所述Web执行器通过以下方式操作Web程序:
通过Selenium抓取Web页面控件;
通过Selenium的鼠标点击函数模拟鼠标各种类型的点击动作;和/或,
通过Selenium的键盘输入函数模拟键盘输入和/或文本复制粘贴动作,从而实现机器人按照既定的步骤自动化操作Web程序。
进一步,所述根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况,包括:
对流程步骤数据进行规范化检验;
在Windows App控件模板匹配技术中,确保控件模板图像的本地路径填写正确;
在Web控件抓取技术中,确保抓取类型和对应值填写正确。
本发明所采用的另一技术方案是:
一种软件操作流程自动化机器人系统,包括:
标准定义模块,用于根据操作描述脚本语言,确定流程步骤数据的标准;
数据解析模块,用于采用语言解析器对所述流程步骤数据进行解析;
数据执行模块,用于采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;
异常处理模块,用于根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况。
本发明所采用的另一技术方案是:
一种软件操作流程自动化机器人装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明所采用的另一技术方案是:
一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明通过规范流程步骤数据的定义,语言解析器对流程表数据解析,语言执行器执行解析的数据,达到机器人按照既定的流程表输出自动化操作软件界面的效果;另外,提供系统异常处理机制检测数据的合法性和软件操作过程中出现的异常状况处理;降低了人工错误率和时间成本,而且提高了工作效率。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种软件操作流程自动化机器人方法的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供一种软件操作流程自动化机器人方法,用于控制软件按照预定的流程自动化操作,包括以下步骤:
S1、根据操作描述脚本语言,确定流程步骤数据的标准。操作描述脚本语言包括Windows App操作描述脚本语言和Web操作描述脚本语言。其中,Windows App操作描述脚本语言就是针对Windows App设计了脚本语言,而这个脚本语言是用来描述操作Windows app的动作的。同理,Web操作描述脚本语言是针对Web网页设计的脚本语言。
操作描述脚本语言统一规范定义流程步骤数据的标准。由于Windows App与Web程序是两种不同软件,所以定位软件窗口、控件抓取、控件操作等采用的技术各不相同,所以设计的操作描述脚本语言也不同。
具体实现中,以表的形式给出Windows App操作描述脚本语言,设计了步骤序号、窗口类名、窗口标题、鼠标点击动作、文本内容、键盘输入动作、表字段名、模板图像本地路径、判断图像本地路径、流程执行状态、下一步骤序号、下一步骤序号总共12个字段。如表1所示:
表1
序号 | 字段名 | 类型 | 说明 |
1 | id | int | 步骤序号 |
2 | WinClassName | String | 窗口类名 |
3 | WinTitleName | String | 窗口标题 |
4 | MouseEvent | String | 鼠标点击动作 |
5 | KcybdEvent | String | 文本内容 |
6 | Keyboard | String | 键盘输入动作 |
7 | TableFieldName | String | 表字段名 |
8 | TempPicPath | String | 模板图像本地路径 |
9 | JudgePiePath | String | 判断图像本地路径 |
10 | Status | String | 流程执行状态 |
11 | TrueId | int | 下一步骤序号 |
12 | FalseId | int | 下一步骤序号 |
需要说明的是,通过窗口类名和标题两个字段定位待操作的软件窗口,通过模板图像本地路径字段实现控件模板匹配,通过判断图像本地路径字段判断流程下一步骤走向,通过鼠标点击动作、文本内容、键盘输入动作、表字段名四个字段实现控件操作,通过流程执行状态字段判断流程终止。
以表的形式给出Web程序操作描述脚本语言,设计了步骤序号、网址、文本内容、鼠标事件、等待响应时间、控件抓取类型(可以通过id、name、xpath等类型)、控件抓取类型文本、跳转新页面、流程执行状态、下一步骤序号。如表2所示:
表2
序号 | 字段名 | 类型 | 说明 |
1 | id | int | 步骤序号 |
2 | Url | String | 网址 |
3 | Text | String | 文本内容 |
4 | Mouse | String | 鼠标事件 |
5 | Time | int | 等候响应时间 |
6 | Type | String | 控件抓取类型 |
7 | Type_text | String | 控件抓取类型文本 |
8 | Jump | int | 跳转新页面 |
9 | Status | String | 流程执行状态 |
10 | nextId | int | 下一步骤序号 |
需要说明的是,通过控件抓取类型和控件抓取类型文本两个字段实现控件抓取,通过网址、文本内容、鼠标事件三个字段实现控件操作,通过等待响应时间字段实现网页加载,通过跳转新页面字段实现从当前网页跳转到新页面进行新页面控件抓取。
S2、采用语言解析器对所述流程步骤数据进行解析。
具体实现中,提供前端页面供用户根据Windows App操作描述脚本语言对流程步骤数据进行定义,由于用户定义的流程步骤不能直接作为参数使用,因此通过Windows App解析器解析用户输入的流程步骤数据,转换成系统能够执行的数据。
提供前端页面供用户根据Web程序操作描述脚本语言对流程步骤数据进行定义,由于用户定义的流程步骤不能直接作为参数使用,因此通过Web解析器解析用户输入的流程步骤数据,转换成系统能够执行的数据。
S3、采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件。
语言执行器对解析的数据进行编译,实现机器人按照既定的流程自动化操作相关软件。语言执行器包括Windows App执行器和Web执行器,操作异常处理机制提供系统异常模块检测软件操作过程中出现的断网、超时异常状况。Windows App执行器包括控件模板匹配、控件坐标定位、控件操作。其中,控件模板匹配:控件指的是组成界面的元素,比如按钮、文本框,所以控件模板匹配指的是使用模板匹配技术输出目标控件在窗口界面的匹配区域。控件坐标定位:上一步得到了目标控件在窗口界面的匹配区域,接下来就需要得到这个匹配区域中心点的桌面坐标。控件操作:上一步得到匹配区域中心点的桌面坐标,将其作为参数传给鼠标点击函数或键盘输入函数,从而实现对控件的鼠标点击或者键盘输入的操作。结合在一起举例:(点击电脑端微信的“登录”按钮):首先控件模板匹配(得到“登录”按钮在微信窗口的控件匹配区域),控件坐标定位(得到“登录”按钮的中心坐标),控件操作(鼠标点击中心坐标)。
具体实现中,Windows App执行器对解析的Windows App流程步骤数据进行编译,按照既定的流程自动化操作Windows App。其中,首先通过控件模板匹配技术,输出控件在对应的软件窗口的匹配区域,并得到匹配区域中心相对于软件窗口的坐标值;接着通过控件坐标定位技术,获取对应软件窗口的左上角顶点相对于桌面的坐标,根据向量相加原理将控件匹配区域中心相对于软件窗口的坐标值转换为相对于桌面的坐标值,方可将坐标值传递给WinAPI的鼠标点击或键盘输入函数;最后通过WinAPI的鼠标点击函数模拟鼠标各种类型的点击动作,通过WinAPI的键盘输入函数模拟键盘输入和文本复制粘贴动作,从而实现机器人按照既定的步骤自动化操作Windows App。
Web执行器包括控件抓取和控件操作。控件抓取:指的是对Web页面控件的定位。控件操作:对定位的控件进行鼠标点击或者键盘输入操作。结合在一起(点击百度首页的“百度一下”按钮):控件抓取(定位到了“百度一下”按钮),控件操作(鼠标点击“百度一下”按钮)。之所以跟Windows App的步骤不同是因为web控件的抓取已经有成熟的技术可以供我们使用,不需要跟windows App一样先模板匹配再坐标定位,才能抓取控件。
具体实现中,Web执行器对解析的Web流程步骤数据进行编译,按照既定的流程自动化操作Web程序。其中,首先控件抓取技术通过Selenium抓取Web页面控件;最后控件操作技术通过Selenium的鼠标点击函数模拟鼠标各种类型的点击动作,通过Selenium的键盘输入函数模拟键盘输入和文本复制粘贴动作,从而实现机器人按照既定的步骤自动化操作Web程序。其中,鼠标点击或者键盘输入操作:因为操作控件(比如点击按钮、输入文本、界面数据保存等具体操作),都可以结合鼠标跟键盘完成。鼠标点击包括左键单击、左键双击、拖动、右键单击,键盘输入包括单键、组合键(Ctrl+C)、文本复制粘贴。
S4、根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况。
操作异常处理机制处理软件操作过程中产生的异常状况。具体实现中,数据不合法模块对用户定义的流程步骤数据进行规范化检验,比如当前步骤序号、下一步骤序号需填写正整数,Windows App控件模板匹配技术需保证控件模板图像本地路径填写正确,Web控件抓取技术需保证抓取类型和对应值填写正确等保障,从而确保用户定义的流程步骤数据合法能够编译。
系统异常模块对机器人按照既定流程自动化执行相关软件过程中,会出现断网、单个步骤超时情况处理,从而确保系统对异常的处理,保障系统的正常运行。
综上所述,本实施例给出一套操作描述脚本语言统一规范流程步骤数据的定义,用户依据操作描述脚本语言,将软件和软件的操作动作作为输入数据编辑到流程表中。以表的形式设计了操作描述脚本语言,即表的字段构成了操作描述脚本语言。一行数据代表一条指令,一张流程表由多条指令构成,所以用户依据表字段定义流程步骤数据,解析器解析指令(即对用户输入的数据进行解析,解析成系统可识别的数据形式),转换成执行器可执行的指令(即定位到待操作的页面,定位到目标控件,操作控件),最后输出对界面的自动化操作。
本实施例方法还提供系统异常处理机制检测数据的合法性和软件操作过程中出现的异常状况处理。采用本实施例方法不仅降低了人工错误率和时间成本,而且提高了工作效率。
本实施例还提供一种软件操作流程自动化机器人系统,包括:
标准定义模块,用于根据操作描述脚本语言,确定流程步骤数据的标准;
数据解析模块,用于采用语言解析器对所述流程步骤数据进行解析;
数据执行模块,用于采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;
异常处理模块,用于根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况。
本实施例的一种软件操作流程自动化机器人系统,可执行本发明方法实施例所提供的一种软件操作流程自动化机器人方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本实施例还提供一种软件操作流程自动化机器人装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
本实施例的一种软件操作流程自动化机器人装置,可执行本发明方法实施例所提供的一种软件操作流程自动化机器人方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种软件操作流程自动化机器人方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种软件操作流程自动化机器人方法,其特征在于,包括以下步骤:
根据操作描述脚本语言,确定流程步骤数据的标准;
采用语言解析器对所述流程步骤数据进行解析;
采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;
根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况;
所述操作描述脚本语言包括Windows App操作描述脚本语言和/或Web操作描述脚本语言;
在Windows App操作描述脚本语言中,以流程表的形式设计12个字段:步骤序号、窗口类名、窗口标题、鼠标点击动作、文本内容、键盘输入动作、表字段名、模板图像本地路径、判断图像本地路径、流程执行状态、下一步骤序号、下一步骤序号;
在Web操作描述脚本语言中,以流程表的形式设计10个字段:步骤序号、网址、文本内容、鼠标事件、等待响应时间、控件抓取类型、控件抓取类型文本、跳转新页面、流程执行状态、下一步骤序号;
所述语言解析器包括Windows App解析器和/或Web解析器;
所述语言执行器包括Windows App执行器和/或Web执行器。
2.根据权利要求1所述的一种软件操作流程自动化机器人方法,其特征在于,所述语言执行器包括Windows App执行器和Web执行器;
所述Windows App执行器包括控件模板匹配模块、控件坐标定位模块和控件操作模块;
所述模板匹配模块用于从软件窗口匹配出控件所在位置,获得控件匹配区域;所述控件坐标定位模块用于根据控件匹配区域获取操作点在操作界面上的坐标值;
所述控件操作模块用于根据获得的坐标值控制控件执行操作;
所述的Web执行器包括控件抓取模块和控件操作模块;
所述控件抓取模块用于从Web页面获取控件的位置信息;
所述控件操作模块用于根据所述位置信息控制控件执行操作;其中,操作包括鼠标点击操作和键盘输入操作。
3.根据权利要求1所述的一种软件操作流程自动化机器人方法,其特征在于,所述语言执行器包括Windows App执行器和Web执行器;
Windows App执行器通过以下方式操作Windows App:
获取控件在对应的软件窗口的匹配区域,并获取匹配区域中心相对于软件窗口的坐标值;
获取对应软件窗口的左上角顶点相对于桌面的坐标,根据向量相加原理将控件匹配区域中心相对于软件窗口的坐标值转换为相对于桌面的坐标值,将坐标值传递给WinAPI的鼠标点击或键盘输入函数;
当坐标值传递给WinAPI的鼠标点击,通过鼠标点击函数模拟鼠标各种类型的点击动作;当坐标值传递给WinAPI的键盘输入函数,通过键盘输入函数模拟键盘输入和文本复制粘贴动作。
4.根据权利要求1所述的一种软件操作流程自动化机器人方法,其特征在于,所述语言执行器包括Web执行器;
所述Web执行器通过以下方式操作Web程序:
通过Selenium抓取Web页面控件;
通过Selenium的鼠标点击函数模拟鼠标各种类型的点击动作;和/或,通过Selenium的键盘输入函数模拟键盘输入和/或文本复制粘贴动作。
5.根据权利要求1所述的一种软件操作流程自动化机器人方法,其特征在于,所述根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况,
包括:
对流程步骤数据进行规范化检验;
在Windows App控件模板匹配技术中,确保控件模板图像的本地路径填写正确;
在Web控件抓取技术中,确保抓取类型和对应值填写正确。
6.一种软件操作流程自动化机器人系统,其特征在于,包括:
标准定义模块,用于根据操作描述脚本语言,确定流程步骤数据的标准;
数据解析模块,用于采用语言解析器对所述流程步骤数据进行解析;
数据执行模块,用于采用语言执行器对解析的数据进行执行,按照预定的流程自动化操作相关软件;
异常处理模块,用于根据预设的操作异常处理机制,处理软件操作过程中出现的异常状况;
所述操作描述脚本语言包括Windows App操作描述脚本语言和/或Web操作描述脚本语言;
在Windows App操作描述脚本语言中,以流程表的形式设计12个字段:步骤序号、窗口类名、窗口标题、鼠标点击动作、文本内容、键盘输入动作、表字段名、模板图像本地路径、判断图像本地路径、流程执行状态、下一步骤序号、下一步骤序号;
在Web操作描述脚本语言中,以流程表的形式设计10个字段:步骤序号、网址、文本内容、鼠标事件、等待响应时间、控件抓取类型、控件抓取类型文本、跳转新页面、流程执行状态、下一步骤序号;
所述语言解析器包括Windows App解析器和/或Web解析器;
所述语言执行器包括Windows App执行器和/或Web执行器。
7.一种软件操作流程自动化机器人装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-5一项所述方法。
8.一种存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-5一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566676.7A CN113312129B (zh) | 2021-05-24 | 2021-05-24 | 软件操作流程自动化机器人方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566676.7A CN113312129B (zh) | 2021-05-24 | 2021-05-24 | 软件操作流程自动化机器人方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312129A CN113312129A (zh) | 2021-08-27 |
CN113312129B true CN113312129B (zh) | 2023-06-20 |
Family
ID=77374346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110566676.7A Active CN113312129B (zh) | 2021-05-24 | 2021-05-24 | 软件操作流程自动化机器人方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312129B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741882B (zh) * | 2021-09-16 | 2024-03-26 | 杭州分叉智能科技有限公司 | 一种rpa图形化指令设计方法 |
CN114020267A (zh) * | 2021-11-04 | 2022-02-08 | 四川启睿克科技有限公司 | 一种rpa窗口控件检测的方法 |
CN118113161B (zh) * | 2024-04-30 | 2024-06-28 | 南京信人智能科技有限公司 | 一种基于rpa的模拟人为键盘输入及鼠标操作方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851299A (zh) * | 2019-11-15 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 自动化流程的异常排除方法、装置、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868426B2 (en) * | 2012-08-23 | 2014-10-21 | Freedom Scientific, Inc. | Screen reader with focus-based speech verbosity |
EP3133539A1 (en) * | 2015-08-19 | 2017-02-22 | Tata Consultancy Services Limited | Method ans system for process automation in computing |
CN109977389A (zh) * | 2019-04-10 | 2019-07-05 | 鼎信信息科技有限责任公司 | 表单录入方法、装置、计算机设备和存储介质 |
US10956181B2 (en) * | 2019-05-22 | 2021-03-23 | Software Ag | Systems and/or methods for computer-automated execution of digitized natural language video stream instructions |
US11150882B2 (en) * | 2019-10-14 | 2021-10-19 | UiPath Inc. | Naming robotic process automation activities according to automatically detected target labels |
CN110908651B (zh) * | 2019-11-01 | 2022-12-13 | 苏宁云计算有限公司 | Rpa业务流程的图形化构建方法及系统 |
CN111967848A (zh) * | 2020-08-19 | 2020-11-20 | 工银科技有限公司 | 获取简历的方法、装置、系统及介质 |
CN112235342B (zh) * | 2020-09-03 | 2023-04-14 | 苏宁云计算有限公司 | 异常运行环境的修复方法、装置、计算机设备和存储介质 |
CN112052653A (zh) * | 2020-09-04 | 2020-12-08 | 国网福建省电力有限公司 | 一种报表附注信息的填写方法及财务机器人 |
CN112181854B (zh) * | 2020-10-30 | 2023-12-22 | 重庆农村商业银行股份有限公司 | 一种生成流程自动化脚本的方法、装置、设备及存储介质 |
CN112379993A (zh) * | 2020-12-08 | 2021-02-19 | 中国建设银行股份有限公司 | 一种机器人流程自动化处理系统、方法及装置 |
-
2021
- 2021-05-24 CN CN202110566676.7A patent/CN113312129B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851299A (zh) * | 2019-11-15 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 自动化流程的异常排除方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113312129A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312129B (zh) | 软件操作流程自动化机器人方法、系统、装置及介质 | |
AU2019355933B2 (en) | Software testing | |
JP6552993B2 (ja) | プロセス制御情報を表示する方法及び装置、機械がアクセス可能な媒体、及びデバイス記述ファイル内にスクリプト拡張機能を作成する方法 | |
US10853231B2 (en) | Detection and correction of coding errors in software development | |
US20210064518A1 (en) | Methods Circuits Devices Systems and Functionally Associated Machine Executable Code For Automatic Failure Cause Identification in Software Code Testing | |
CN110764753A (zh) | 一种业务逻辑代码生成方法、装置、设备及存储介质 | |
CN107203473A (zh) | 自动扩展接口测试用例的自动化测试系统与方法 | |
US20080312899A1 (en) | Software feature modeling and recognition | |
CN104391797A (zh) | Gui控件的识别方法和装置 | |
US20060136863A1 (en) | Applying coding standards in graphical programming environments | |
CN106550038B (zh) | 一种数字化控制系统的数据组态诊断系统和方法 | |
Sacramento et al. | Web application model generation through reverse engineering and UI pattern inferring | |
CN101859135A (zh) | 对分布式自动化系统进行控制的方法和装置 | |
CN102542116B (zh) | Dfm分析自动化的方法及装置 | |
JP4731335B2 (ja) | 組立性評価方法、そのシステム及びプログラム | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
CN112527676A (zh) | 模型自动化测试方法、装置及存储介质 | |
CN110928760B (zh) | 一种嵌入式系统中的单元测试方法与装置 | |
CN112433942A (zh) | 基于人工智能模型的软件自动化测试方法、装置和系统 | |
CN115269101A (zh) | 一种基于RPA实现Excel数据透视表拾取的方法 | |
CN111338619B (zh) | 一种图形化算法编程交互系统、编程方法和可读存储介质 | |
Neto et al. | Applying software static analysis to ROS: the case study of the FASTEN european project | |
CN113032243B (zh) | 一种移动应用程序gui智能测试方法及系统 | |
CN112527631A (zh) | bug定位方法、系统、电子设备及存储介质 | |
CN116560819B (zh) | 基于rpa的批量自动化操作方法、系统、设备及储存介质 |
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 |