CN114064157B - 基于页面元素识别的自动化流程实现方法、系统、设备及介质 - Google Patents
基于页面元素识别的自动化流程实现方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114064157B CN114064157B CN202111322842.5A CN202111322842A CN114064157B CN 114064157 B CN114064157 B CN 114064157B CN 202111322842 A CN202111322842 A CN 202111322842A CN 114064157 B CN114064157 B CN 114064157B
- Authority
- CN
- China
- Prior art keywords
- page
- script
- page element
- executed
- file
- 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
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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于页面元素识别的自动化流程实现方法、系统、设备及介质,所述方法包括以下步骤:获取待执行脚本;基于预训练好的页面元素识别模型,按顺序执行待执行脚本;其中,预训练好的页面元素识别模型为分布式识别模型;预训练好的页面元素识别模型的获取步骤包括:获取标注后的训练样本数据;基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得预训练好的页面元素识别模型。本发明中采用图像识别技术,通过识别软件界面的页面图标元素实现自动化执行操作,将所有计算机操作分解为识别元素‑操作元素‑验证自动化执行,能够解决目前现有自动化流程执行方法尚存在的技术缺陷。
Description
技术领域
本发明属于自动化流程实现技术领域,特别涉及一种基于页面元素识别的自动化流程实现方法、系统、设备及介质。
背景技术
目前,主要存在三种自动化流程执行方法,分别是基于数据驱动的自动化流程执行方法、基于关键字驱动的自动化流程执行方法和基于领域的自动化流程执行方法。
基于数据驱动的自动化流程执行方法可以实现从数据文件中读取数据,数据和操作过程脚本实现了分离,被称为基于数据驱动的自动化流程执行方法。它将输入数据、预期输出组织成表,表中的一行数据就对应着一次执行过程,执行时从表中逐行读取数据,再通过变量的形式传入事先录制好的或者是手工编写的执行脚本中,这样利用相同的执行过程可实现不同的输入、输出数据的组合执行。对数据驱动的自动化执行技术而言,执行脚本只起驱动或者数据传送机制的作用。执行脚本与应用程序相关联,并通过录制或使用自动化工具私有语言手工编程的方式编写逻辑,然后对其中的变量赋予合适的数值,作为执行数据的输入。
基于关键字驱动的自动化流程执行方法用自然语言来描述测试用例,将执行脚本抽象化,使不懂任何代码的非技术人员,也可以使用执行工具进行测试。基于关键字驱动的自动化执行用关键字组成测试的业务逻辑,其主要思想是:脚本和数据实现分离、执行描述与具体实现细节分离、界面元素名和执行内部对象实现分离。
基于领域驱动的自动化执行是在关键字驱动执行的基础上发展而来的,主要特点是:从领域模型出发,使用被执行软件产品的领域语言描述执行过程,进行建模,并对领域关键字进行分析、设计、开发和组织管理,从而进行有效的执行。
然而,上述现有的三种自动化流程执行方法尚存在一些技术缺陷,包括:
(1)需要录制脚本:在新的执行之前需要录制脚本、并通过与数据库的绑定实现参数化;
(2)无法应对界面变化:在相应软件界面元素发生名称变化、标识变化时,需要重新录制脚本,或通过更改脚本中页面元素名称的方式实现脚本复用;
(3)脚本维护费时费力:脚本的维护、更新都需人工进行,费时费力;
(4)存在兼容性问题:在不同的操作系统、硬件架构上,需要安装不同版本的软件,如不存在相关版本的软件,则无法实现自动化执行功能;
(5)工作质量由操作者的经验决定,且无法沉淀、转化:脚本质量受员工经验影响较大,对脚本的执行等环节影响也较大。自动化执行经验无法沉淀到软件客体中,自动化执行的人员投资仅转化为难以跨越软件的脚本、执行报告或执行结果。
发明内容
本发明的目的在于提供一种基于页面元素识别的自动化流程实现方法、系统、设备及介质,以解决上述存在的一个或多个技术问题。本发明中采用图像识别技术,通过识别软件界面的页面图标元素实现自动化执行操作,将所有计算机操作分解为识别元素-操作元素-验证自动化执行,能够解决目前现有自动化流程执行方法尚存在的技术缺陷。
为达到上述目的,本发明采用以下技术方案:
本发明的一种基于页面元素识别的自动化流程实现方法,包括以下步骤:
获取待执行脚本;
基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本;
其中,所述预训练好的页面元素识别模型为分布式识别模型;
所述预训练好的页面元素识别模型的获取步骤包括:
获取标注后的训练样本数据;
基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得所述预训练好的页面元素识别模型。
本发明的进一步改进在于,所述获取待执行脚本的步骤包括:
将待自动化执行的操作分解为一系列的“识别元素-操作元素-验证结果”基础三元操作的顺序组合,获得待执行脚本。
本发明的进一步改进在于,所述待执行脚本包括:
元素检索指令:FIND与“关键字”为从页面中搜索是否存在名为“关键字”的元素,其返回值为该元素的定位或“NULL”;OCRFIND与“关键字”为从页面中搜索是否存在文字为“关键字”的元素,其返回值为该元素的定位或“NULL”;
元素控制指令:CLICK与“位置”为对给定的位置执行点击操作;INPUT与“内容”为在对应的页面元素中输入“内容”;
存在性条件判断指令:IFEXIST为判断给定的元素名称或元素文字是否存在;
正确性条件判断指令:COMPARE为比较页面元素返回值是否与用例中指定值一致。
本发明的进一步改进在于,所述基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本的步骤具体包括:
1)按照脚本中import的python文件,定位文件并准备执行文件;其中,所述python文件用于查找、定位页面元素;或者,所述python文件用于执行比对图片或判断功能;
2)获取脚本中需要执行的python文件中的方法名称;
3)获取脚本中需要执行的python文件的传入参数、传出参数名称;
4)执行该python文件;
5)显示执行python文件的日志;
6)根据返回的识别结果与未知信息,对页面元素进行进行点击、输入操作;对于执行比对图片或判断功能的python文件,执行后返回结果为带标注的图片或布尔值。
本发明的进一步改进在于,所述获取标注后的训练样本数据时,对于网页形式的软件系统,通过自动化标注方法获取标注后的训练样本数据。
本发明的进一步改进在于,所述自动化标注方法包括以下步骤:
(1)确定标注目标;
(2)以页面元素名称作为类别名称,在页面代码中遍历所述页面元素名称;
(3)读取所述页面元素的长宽高信息;
(4)对步骤(3)获得的数据进行规整化并写入页面json文件;
(5)按照2的指数次幂切分页面并计算各页面元素在切割页面中的相对位置;
(6)将步骤(5)获得的各切分子页面进行base64转写;
(7)基于步骤(6)的处理结果,生成每个切割子页面的json文件,作为各子页面的标注信息。
本发明的进一步改进在于,所述对分布式识别模型进行训练时包括预训练过程。
本发明的一种基于页面元素识别的自动化流程实现系统,包括:
获取模块,用于获取待执行脚本;
执行模块,用于基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本;
其中,所述预训练好的页面元素识别模型为分布式识别模型;
所述预训练好的页面元素识别模型的获取步骤包括:
获取标注后的训练样本数据;
基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得所述预训练好的页面元素识别模型。
本发明的一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一项上述基于页面元素识别的自动化流程实现方法的步骤。
本发明的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明任一项上述基于页面元素识别的自动化流程实现方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明中采用图像识别技术,通过识别软件界面的页面图标元素实现自动化执行操作,将所有计算机操作分解为“识别元素-操作元素-验证结果”基础三元操作的顺序组合,通过编写每步操作的识别目标和操作方法就可实现软件或系统的自动化执行,能够解决目前现有自动化流程执行方法尚存在的技术缺陷。
具体的,(1)不需要录制脚本:通过简单编辑完成脚本,通过AI模型识别页面元素,无需进行脚本录制;(2)可以应对界面变化:只要页面元素图标不发生变化,便可直接复用AI模型,无需重新编辑。可针对一批图标预先训练、执行前在软件后台批量替换图标的方式,节约AI模型的训练时间;(3)脚本方便维护:根据软件操作顺序来编写脚本即可,逻辑简单,方便维护;(4)不存在兼容性问题:本方法不存在兼容性问题,可跨越不同操作系统、X86/ARM等多硬件平台使用;(5)工作质量实现统一,且可沉淀、转化:工作质量由AI模型决定,不受员工经验影响。自动化执行经验可通过迭代训练AI模型的方式沉淀到软件客体中,自动化执行的人员投资可转化为AI模型的方式,实现增值(AI识别范围、精度会越来越高)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图做简单的介绍;显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种基于页面元素识别的自动化流程实现方法的流程示意图;
图2是本发明实施例中,自动化标注工作流程示意图;
图3是本发明实施例中,集中式识别模型示意图;
图4是本发明实施例中,分布式识别模型示意图;
图5是本发明实施例中,脚本编辑器示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
请参阅图1,本发明实施例的一种基于页面元素识别的自动化流程实现方法,具体包括以下步骤:
本发明实施例的方法包括AI模型训练和自动化脚本执行两部分;其中,前者为本发明实施例方法提供AI识别模型,用于识别相应的页面元素图标或图案;后者基于训练好的AI识别模型,按顺序执行预先编写好的脚本。
本发明实施例中,训练流程分为两个阶段,包括:
1、训练数据准备:对于网页形式的软件系统,本发明实施例方法通过自动化标注训练数据的方法,可实现170倍的标注效率提升。数据标注的本质是在被标注物体的轮廓实例与其标签间建立一一对应关系。
请参阅图2,本发明实施例的自动化标注工作流程包括:
1)确定本次的标注目标,如按钮(button)、表格(table)等;
2)以页面元素名称作为类别名称,在页面代码中遍历该元素名称;
3)读取该页面元素长宽高信息;
4)对数据进行规整化并写入该页面json文件;
5)按照2的指数次幂(如1024*512等)切分页面并计算各页面元素在切割页面中的相对位置;
6)将各切分子页面进行base64转写;
7)生成每个切割子页面的json文件,即为各子页面的标注信息,结合各子页面便可完成各页面元素类别的模型训练。
针对基于网页的软件系统,本发明实施例的方法与传统人工标注的效率对比结果如表1所示。
表1.效率对比结果
但是,对于非网页形式的系统,只能采用人工标注训练数据的方法。
2、训练阶段:在训练阶段,本发明实施例方法创新型的提出适用于页面元素的预训练方法和分布式模型架构。
(1)预训练方法:本发明实施例基于Mask-RCNN模型进行重新训练,在预训练阶段,采用小图片集,如10-100个训练数据,提高训练数据预读取速度。同时,采用10步左右的一轮预训练即可;
(2)请参阅图3和图4,分布式模型架构:集中式识别模型是训练并使用一个模型来实现所有类别的分类操作。其优点是部署相对简单,但要求全部分类的特征不能重叠,且试错迭代周期较长、训练过程耗时较多、数据准备时间较长、训练数据量较大、对GPU及训练机硬件配置要求较高,适用于分类数量不多或时间及硬件资源都比较充裕的产品开发场景。
分布式识别模型:是将某一个特定类别的分类任务放在一个独立的模型中实现,各个模型可以存在层级关系,如“端-云”协同式识别,也可以不存在关联关系并在不同的使用步骤中单独调用。分布式识别模型对分类特征重叠度要求相对较低,且试错迭代周期较短、训练过程耗时较短、数据准备时间较短、训练数据量较小、对GPU及训练机硬件配置要求不高,适用于边试错边探索的快速迭代开发场景。
本发明实施例方法提出按照页面元素的不同类别来训练分布式识别模型的方法,降低类别间识别干扰、提高相同类别的准确率、泛化率和灵活性。
本发明实施例中,执行流程分为三个阶段:脚本编写、脚本执行和生成报告,包括:
(1)脚本编写:所有计算机操作可分解为“识别元素-操作元素-验证结果”基础三元操作的顺序组合,本发明实施例方法创新性地提出将待自动化的相关操作分解为一系列的“识别元素-操作元素-验证结果”;同时,各基本步骤可乱序选择,以形成新的组合方式,适应新的自动化执行需求。
示例性的,如图5所示,脚本编辑器预设以下四类关键字,通过下拉框选择的方式便可选择相应的关键字,并输入操作对象、预期结果等:
1)元素检索指令:
FIND+“关键字”为从页面中搜索是否存在名为“关键字”的元素,其返回值为该元素的定位或“NULL”。
OCRFIND+“关键字”为从页面中搜索是否存在文字为“关键字”的元素,其返回值为该元素的定位或“NULL”。
2)元素控制指令:
CLICK+“位置”为对给定的位置执行点击操作。
INPUT+“内容”为在对应的页面元素中输入“内容”。
3)存在性条件判断指令:
IFEXIST为判断给定的元素名称或元素文字是否存在。
4)正确性条件判断指令:
COMPARE为比较页面元素返回值是否与用例中指定值一致。
(2)脚本执行:
1)按照脚本中import的python文件,定位文件并准备执行该文件;
2)获取脚本中需要执行的python文件中的方法名称;
3)获取脚本中需要执行的python文件的传入参数、传出参数名称;
4)执行该python文件
5)显示执行python文件的日志;
6)一般来说,本方法里用到的python文件是用于查找、定位页面元素的。下一步,根据返回的识别结果与未知信息对该页面元素进行点击、输入等操作。对于比对图片以及其他判断功能的python文件,则执行后返回结果应为带标注的图片或布尔值。
7)基于执行的自动化程度,自动化执行可分成三类:
A)自动化输入、人工比对、人工判断方式:自动完成系统操作时的输入内容,在需要判断的节点,通过人工比对和判断的方式执行;
B)自动化输入、自动化比对、人工判断方式:在步骤一的基础上,自动化完成操作结果的比对,并由人工判断的方式执行;
C)自动化输入、自动化比对、自动化判断方式:输入、比对与判断都由AI完成的方式。
8)在每个步骤执行之后,需要将执行结果与预设结果进行比对,本方法采用在特定区域截屏,并通过OCR识别文字的方式,与预期结果进行比对,从而完成执行结果的判断。
9)对于一些较复杂的情况,本方法利用跨元素联合识别技术与表格序列化技术来解决类似问题:
A)对于无特征、无文字页面元素的识别:典型的页面元素如空白输入框,不具备任何图像识别特征,也不具备任何可识别文字。考虑到输入框必定与一个输入提示项联系在一起,如:姓名+输入框等。因此,在这种情况下,可以通过对输入项标签的识别,并采用输入项标签定位数据+偏移量的方式实现空白输入框的定位。
B)对于表格内容的识别:表格是高度结构化的数据,虽然具备一定的图像识别特征,但对表格内容的自动化检查是一项富有挑战性且困难的工作。本项目采用去除结构化特性,保留表格内容的方式,通过CPTN+LSTM识别算法识别表格内容,通过检查新增或查询表格操作的期待结果与图像识别的表格实际内容的匹配度来确定操作是否成功,如匹配度高于预设阈值(如90%一致),则可判定该新增或查询操作成功完成。
本发明实施例方法使用Mask-RCNN算法,经过训练共获得针对菜单、按钮、下拉框三类模型:
菜单识别模型:共计对191个菜单项的识别能力;
按钮识别模型:共计对6个按钮的识别能力;
下拉框识别模型:共计对2个下拉框的识别能力;
表格识别模型:包括表格、左翻页及右翻页在内的三类识别能力;
同时,本方法利用AutoIt v3实现键盘输入、鼠标单击和双击操作。
基于图像识别的自动化流程执行技术的关键点在于如何在不使用页面元素名称的情况下识别与定位元素、如何实现内容正确性检查及相关的页面操作、如何实现训练数据的自动化标注等。
具体地说,本方法在以下几个方面取得了突破:
(1)种无需录制脚本的自动化流程执行方法:无需像传统自动化流程执行工具一样创建并调试、维护测试脚本,减少测试准备时间;
(2)自动检查页面元素文字的智能方法:在使用图像识别技术定位元素的同时完成相关页面元素文字内容的正确性检查;
(3)页面元素准确定位技术:识别即定位技术,无需通过二次操作实现定位;
(4)高准确率的页面元素识别技术:使用智能图像识别算法的准确率达到95%以上、智能图像算法与OCR算法组合识别准确率高于80%;
(5)针对页面元素识别模型的小数据训练方法:平均约500个训练数据即可完成对一个分类的训练;
(6)松耦合开放式测试平台:通过调用python脚本的方式,平台可灵活实现识别模型的变更及第三方功能性扩展。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未披露的细节,请参照本发明方法实施例。
本发明实施例的一种基于页面元素识别的自动化流程实现系统,包括:
获取模块,用于获取待执行脚本;
执行模块,用于基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本;
其中,所述预训练好的页面元素识别模型为分布式识别模型;
所述预训练好的页面元素识别模型的获取步骤包括:
获取标注后的训练样本数据;
基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得所述预训练好的页面元素识别模型。
本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于页面元素识别的自动化流程实现方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于页面元素识别的自动化流程实现方法的相应步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (5)
1.一种基于页面元素识别的自动化流程实现方法,其特征在于,包括以下步骤:
获取待执行脚本;
基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本;
其中,所述预训练好的页面元素识别模型为分布式识别模型;
所述预训练好的页面元素识别模型的获取步骤包括:
获取标注后的训练样本数据;
基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得所述预训练好的页面元素识别模型;
所述获取待执行脚本的步骤包括:
将待自动化执行的操作分解为一系列的“识别元素-操作元素-验证结果”基础三元操作的顺序组合,获得待执行脚本;
所述待执行脚本包括:
元素检索指令:FIND 与“关键字”为从页面中搜索是否存在名为“关键字”的元素,其返回值为该元素的定位或“NULL”;OCRFIND 与“关键字”为从页面中搜索是否存在文字为“关键字”的元素,其返回值为该元素的定位或“NULL”;
元素控制指令:CLICK 与“位置”为对给定的位置执行点击操作;INPUT 与“内容”为在对应的页面元素中输入“内容”;
存在性条件判断指令:IFEXIST为判断给定的元素名称或元素文字是否存在;
正确性条件判断指令:COMPARE为比较页面元素返回值是否与用例中指定值一致;
所述基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本的步骤具体包括:
1)按照脚本中import的python文件,定位文件并准备执行文件;其中,所述python文件用于查找、定位页面元素;或者,所述python文件用于执行比对图片或判断功能;
2)获取脚本中需要执行的python文件中的方法名称;
3)获取脚本中需要执行的python文件的传入参数、传出参数名称;
4)执行该python文件;
5)显示执行python文件的日志;
6)根据返回的识别结果与未知信息,对页面元素进行点击、输入操作;对于执行比对图片或判断功能的python文件,执行后返回结果为带标注的图片或布尔值;
所述获取标注后的训练样本数据时,对于网页形式的软件系统,通过自动化标注方法获取标注后的训练样本数据;其中,所述自动化标注方法包括以下步骤:
(1)确定标注目标;
(2)以页面元素名称作为类别名称,在页面代码中遍历所述页面元素名称;
(3)读取所述页面元素的长宽高信息;
(4)对步骤(3)获得的数据进行规整化并写入页面json文件;
(5)按照2的指数次幂切分页面并计算各页面元素在切割页面中的相对位置;
(6)将步骤(5)获得的各切分子页面进行base64转写;
(7)基于步骤(6)的处理结果,生成每个切割子页面的json文件,作为各子页面的标注信息。
2.根据权利要求1所述的一种基于页面元素识别的自动化流程实现方法,其特征在于,所述对分布式识别模型进行训练时包括预训练过程。
3.一种基于页面元素识别的自动化流程实现系统,其特征在于,包括:
获取模块,用于获取待执行脚本;
执行模块,用于基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本;
其中,所述预训练好的页面元素识别模型为分布式识别模型;
所述预训练好的页面元素识别模型的获取步骤包括:
获取标注后的训练样本数据;
基于获得的标注后的训练样本数据的不同类别,对分布式识别模型进行训练,训练完毕获得所述预训练好的页面元素识别模型;
所述获取待执行脚本的步骤包括:
将待自动化执行的操作分解为一系列的“识别元素-操作元素-验证结果”基础三元操作的顺序组合,获得待执行脚本;
所述待执行脚本包括:
元素检索指令:FIND 与“关键字”为从页面中搜索是否存在名为“关键字”的元素,其返回值为该元素的定位或“NULL”;OCRFIND 与“关键字”为从页面中搜索是否存在文字为“关键字”的元素,其返回值为该元素的定位或“NULL”;
元素控制指令:CLICK 与“位置”为对给定的位置执行点击操作;INPUT 与“内容”为在对应的页面元素中输入“内容”;
存在性条件判断指令:IFEXIST为判断给定的元素名称或元素文字是否存在;
正确性条件判断指令:COMPARE为比较页面元素返回值是否与用例中指定值一致;
所述基于预训练好的页面元素识别模型,按顺序执行所述待执行脚本的步骤具体包括:
1)按照脚本中import的python文件,定位文件并准备执行文件;其中,所述python文件用于查找、定位页面元素;或者,所述python文件用于执行比对图片或判断功能;
2)获取脚本中需要执行的python文件中的方法名称;
3)获取脚本中需要执行的python文件的传入参数、传出参数名称;
4)执行该python文件;
5)显示执行python文件的日志;
6)根据返回的识别结果与未知信息,对页面元素进行点击、输入操作;对于执行比对图片或判断功能的python文件,执行后返回结果为带标注的图片或布尔值;
所述获取标注后的训练样本数据时,对于网页形式的软件系统,通过自动化标注方法获取标注后的训练样本数据;其中,所述自动化标注方法包括以下步骤:
(1)确定标注目标;
(2)以页面元素名称作为类别名称,在页面代码中遍历所述页面元素名称;
(3)读取所述页面元素的长宽高信息;
(4)对步骤(3)获得的数据进行规整化并写入页面json文件;
(5)按照2的指数次幂切分页面并计算各页面元素在切割页面中的相对位置;
(6)将步骤(5)获得的各切分子页面进行base64转写;
(7)基于步骤(6)的处理结果,生成每个切割子页面的json文件,作为各子页面的标注信息。
4.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1或2所述基于页面元素识别的自动化流程实现方法的步骤。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述基于页面元素识别的自动化流程实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111322842.5A CN114064157B (zh) | 2021-11-09 | 2021-11-09 | 基于页面元素识别的自动化流程实现方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111322842.5A CN114064157B (zh) | 2021-11-09 | 2021-11-09 | 基于页面元素识别的自动化流程实现方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064157A CN114064157A (zh) | 2022-02-18 |
CN114064157B true CN114064157B (zh) | 2023-09-15 |
Family
ID=80273965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111322842.5A Active CN114064157B (zh) | 2021-11-09 | 2021-11-09 | 基于页面元素识别的自动化流程实现方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064157B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN109471793A (zh) * | 2018-09-29 | 2019-03-15 | 天津大学 | 一种基于深度学习的网页自动化测试缺陷定位方法 |
CN109783355A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 页面元素获取方法、系统、计算机设备及可读存储介质 |
CN110888810A (zh) * | 2019-11-19 | 2020-03-17 | 广东润联信息技术有限公司 | 自动识别并标注的方法、装置、计算机设备及存储介质 |
CN111104315A (zh) * | 2019-11-29 | 2020-05-05 | 京东数字科技控股有限公司 | 一种测试脚本生成方法及装置、计算机可读存储介质 |
CN112138390A (zh) * | 2020-09-24 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 对象提示方法、装置、计算机设备及存储介质 |
CN112183035A (zh) * | 2020-11-06 | 2021-01-05 | 上海恒生聚源数据服务有限公司 | 一种文本标注方法、装置、设备及可读存储介质 |
CN112286781A (zh) * | 2019-07-23 | 2021-01-29 | 百度时代网络技术(北京)有限公司 | 自动化测试方法、装置、设备和存储介质 |
WO2021136365A1 (zh) * | 2019-12-30 | 2021-07-08 | 第四范式(北京)技术有限公司 | 基于机器学习模型的应用开发方法、装置及电子设备 |
CN113138916A (zh) * | 2021-04-06 | 2021-07-20 | 青岛以萨数据技术有限公司 | 基于标注样本的图片结构化算法的自动测试方法及系统 |
CN113255614A (zh) * | 2021-07-06 | 2021-08-13 | 杭州实在智能科技有限公司 | 一种基于视频分析的rpa流程自动生成方法与系统 |
CN113434748A (zh) * | 2021-07-19 | 2021-09-24 | 湖南四方天箭信息科技有限公司 | 基于模板标注的分布式爬虫方法、装置、计算机装置及计算机可读存储介质 |
CN113536186A (zh) * | 2021-07-30 | 2021-10-22 | 贵阳高新数通信息有限公司 | 一种网页信息标注及提取系统 |
CN113609028A (zh) * | 2021-10-09 | 2021-11-05 | 统信软件技术有限公司 | 一种页面测试方法、计算设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424167B2 (en) * | 2014-05-21 | 2016-08-23 | Cgi Technologies And Solutions Inc. | Automated testing of an application system |
US10409712B2 (en) * | 2016-12-30 | 2019-09-10 | Accenture Global Solutions Limited | Device based visual test automation |
US10740221B2 (en) * | 2018-10-15 | 2020-08-11 | Sap Se | Scalable AI framework for test automation |
-
2021
- 2021-11-09 CN CN202111322842.5A patent/CN114064157B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN109471793A (zh) * | 2018-09-29 | 2019-03-15 | 天津大学 | 一种基于深度学习的网页自动化测试缺陷定位方法 |
CN109783355A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 页面元素获取方法、系统、计算机设备及可读存储介质 |
CN112286781A (zh) * | 2019-07-23 | 2021-01-29 | 百度时代网络技术(北京)有限公司 | 自动化测试方法、装置、设备和存储介质 |
CN110888810A (zh) * | 2019-11-19 | 2020-03-17 | 广东润联信息技术有限公司 | 自动识别并标注的方法、装置、计算机设备及存储介质 |
CN111104315A (zh) * | 2019-11-29 | 2020-05-05 | 京东数字科技控股有限公司 | 一种测试脚本生成方法及装置、计算机可读存储介质 |
WO2021136365A1 (zh) * | 2019-12-30 | 2021-07-08 | 第四范式(北京)技术有限公司 | 基于机器学习模型的应用开发方法、装置及电子设备 |
CN112138390A (zh) * | 2020-09-24 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 对象提示方法、装置、计算机设备及存储介质 |
CN112183035A (zh) * | 2020-11-06 | 2021-01-05 | 上海恒生聚源数据服务有限公司 | 一种文本标注方法、装置、设备及可读存储介质 |
CN113138916A (zh) * | 2021-04-06 | 2021-07-20 | 青岛以萨数据技术有限公司 | 基于标注样本的图片结构化算法的自动测试方法及系统 |
CN113255614A (zh) * | 2021-07-06 | 2021-08-13 | 杭州实在智能科技有限公司 | 一种基于视频分析的rpa流程自动生成方法与系统 |
CN113434748A (zh) * | 2021-07-19 | 2021-09-24 | 湖南四方天箭信息科技有限公司 | 基于模板标注的分布式爬虫方法、装置、计算机装置及计算机可读存储介质 |
CN113536186A (zh) * | 2021-07-30 | 2021-10-22 | 贵阳高新数通信息有限公司 | 一种网页信息标注及提取系统 |
CN113609028A (zh) * | 2021-10-09 | 2021-11-05 | 统信软件技术有限公司 | 一种页面测试方法、计算设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于图像识别的移动端应用控件检测方法.《计算机应用》.2020,159-160页. * |
Also Published As
Publication number | Publication date |
---|---|
CN114064157A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622014B (zh) | 测试报告生成方法、装置、可读存储介质和计算机设备 | |
US10459695B2 (en) | Correction of code errors using machine learning | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN113255614A (zh) | 一种基于视频分析的rpa流程自动生成方法与系统 | |
CN110347603B (zh) | 一种人工智能的自动化软件测试系统及方法 | |
CN113391871B (zh) | 一种rpa元素智能融合拾取的方法与系统 | |
CN102804147B (zh) | 执行abap源代码的代码检查的代码检查执行系统 | |
CN110489321A (zh) | 测试用例筛选方法、装置、计算机设备和存储介质 | |
CN105955889A (zh) | 一种图形界面自动化测试方法 | |
AU4098700A (en) | Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat | |
CN112817865A (zh) | 一种基于组件化分布式系统的覆盖精准测试方法及其系统 | |
CN106227654A (zh) | 一种测试平台 | |
CN116127203B (zh) | 结合页面信息的rpa业务组件推荐方法及系统 | |
US20210342526A1 (en) | Improved spreadsheet and method for updating same | |
CN108681505B (zh) | 一种基于决策树的测试用例排序方法和装置 | |
CN114897296A (zh) | Rpa流程标注方法、执行过程回放方法及存储介质 | |
Dzhusupova et al. | Pattern recognition method for detecting engineering errors on technical drawings | |
CN113448845A (zh) | 一种ui自动化测试方法及系统 | |
CN114064157B (zh) | 基于页面元素识别的自动化流程实现方法、系统、设备及介质 | |
CN110990282A (zh) | 一种自动化单元测试方法 | |
CN115098368A (zh) | 一种识别脑图用例的智能验证方法和装置 | |
CN115309661A (zh) | 一种应用测试方法、装置、电子设备及可读存储介质 | |
CN115269101A (zh) | 一种基于RPA实现Excel数据透视表拾取的方法 | |
CN113672509A (zh) | 自动化测试方法、装置、测试平台及存储介质 | |
AU760395B2 (en) | Program reproducing method and device, and medium on which program for program reproduction recording |
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 |