CN111858331A - 前端控件覆盖度检测方法、装置以及设备 - Google Patents
前端控件覆盖度检测方法、装置以及设备 Download PDFInfo
- Publication number
- CN111858331A CN111858331A CN202010688606.4A CN202010688606A CN111858331A CN 111858331 A CN111858331 A CN 111858331A CN 202010688606 A CN202010688606 A CN 202010688606A CN 111858331 A CN111858331 A CN 111858331A
- Authority
- CN
- China
- Prior art keywords
- control
- mark
- identification
- target interface
- execution
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 claims abstract description 49
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种前端控件覆盖度检测方法、装置以及设备。主要是基于图像识别技术实现对前端界面图像所含控件的识别和拆解,并对各控件代码***预制的标记,在监听到前端请求并且当请求执行完成后,若代码运行到该标记,则对预存的该控件的运行记录标识进行更新,以此方式最终可以读取出各控件的当前的运行记录标识,接着再与控件执行标准进行比对,便可以完成对该前端界面控件元素覆盖度的检测。本发明可以快速、方便地识别并拆解出前端控件信息,并配合***的控件标记以及设定的运行记录标识实现对代码覆盖度的检测,本发明无需耗费人工成本,也无需增加额外的测试资源,且当交互界面或交互逻辑改变时,也可以便捷、高效地完成覆盖度检测。
Description
技术领域
本发明涉及前端开发技术领域,尤其涉及一种前端控件覆盖度检测方法、装置以及设备。
背景技术
随着各类涉及人机交互的业务的广泛应用,前端界面的测试需求也随之激增,同时,用户对于交互功能和易用性的要求越来越高。当界面涉及到与用户进行交互,则必然会因为交互操作逻辑或者变更交互界面等出现多种不同的交互场景。
现有的相关前端测试方式既会占用大量的资源,操作也繁琐,同时成本又难以合理控制,那么如何在有限的测试资源条件下便捷、高效地确保前端代码质量,准确评价前端控件对多种场景的覆盖程度,成为前端开发环节所聚焦的重点。
发明内容
鉴于上述,本发明旨在提供一种前端控件覆盖度检测方法、装置以及设备,并相应地提出一种计算机可读存储介质以及计算机程序产品,用以在前端开发过程中,经济、高效、便捷且准确地对前端控件的场景覆盖度进行测试。
本发明采用的技术方案如下:
第一方面,本发明提供了一种前端控件覆盖度检测方法,包括:
从目标界面的图像中获取所含各控件的控件信息;
根据所述控件信息,解析出各控件的代码;
在各控件的所述代码中***控件标记;
实时监听用户输入的请求并执行相应的控件功能;
当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识;
获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
在其中至少一种可能的实现方式中,所述基于图像识别技术,从目标界面的图像中获取所含各控件的控件信息包括:
采集目标界面图像;
提取所述目标界面图像的特征,并结合预设的处理对象识别策略,确定出若干处理对象;
提取各所述处理对象的特征,并结合预设的控件识别策略,确定出各控件的类型信息和位置信息。
在其中至少一种可能的实现方式中,所述方法还包括:
根据所述控件信息以及预设规则,生成与各控件一一对应的控件标记;
存储各控件的所述控件信息以及相应的所述控件标记。
在其中至少一种可能的实现方式中,所述方法还包括:
将生成的控件标记与已存储的控件标记进行比对;
如果二者重复,则抛弃当前生成的控件标记,并重新生成新的控件标记;
继续将新的控件标记与已存储的控件标记比对,以将生成的且不重复的控件标记进行存储。
在其中至少一种可能的实现方式中,所述前端控件执行标准包括:
预先基于各类前端框架、各类前端控件以及大量的前端控件调用记录,构建控件知识图谱,并将所述控件知识图谱作为所述前端控件执行标准;
或者,
基于所述控件信息,从所述控件知识图谱中提取出相应于目标界面各控件的控件知识数据,并形成所述前端控件执行标准。
在其中至少一种可能的实现方式中,所述运行记录标识包括:执行标识;或者,所述运行记录标识包括:执行标识和启用标识。
在其中至少一种可能的实现方式中,所述更新该控件的运行记录标识包括:
更新该控件的所述执行标识;
或者,
更新该控件的所述执行标识和所述启用标识。
在其中至少一种可能的实现方式中,所述运行记录标识还包括:统计标识;
所述与设定的前端控件执行标准进行比对包括:与所述前端控件执行标准逐个比对目标界面的各控件,并在比对每一个控件之后,更新该控件的统计标识。
第二方面,本发明提供了一种前端控件覆盖度检测装置,包括:
控件拆解模块,用于从目标界面的图像中获取所含各控件的控件信息;
代码解析模块,用于根据所述控件信息,解析出各控件的代码;
标记***模块,用于在各控件的所述代码中***控件标记;
请求处理模块,用于实时监听用户输入的请求并执行相应的控件功能;
标识更新模块,用于当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识;
比对检测模块,用于获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
在其中至少一种可能的实现方式中,所述控件拆解模块包括:
图像采集单元,用于采集目标界面图像;
处理对象识别单元,用于提取所述目标界面图像的特征,并结合预设的处理对象识别策略,确定出若干处理对象;
控件识别单元,用于提取各所述处理对象的特征,并结合预设的控件识别策略,确定出各控件的类型信息和位置信息。
在其中至少一种可能的实现方式中,所述装置还包括:控件标记生成模块;所述控件标记生成模块具体包括:
标记生成单元,用于根据所述控件信息以及预设规则,生成与各控件一一对应的控件标记;
信息存储单元,用于存储各控件的所述控件信息以及相应的所述控件标记。
在其中至少一种可能的实现方式中,所述装置还包括:标记唯一性检查模块;所述标记唯一性检查模块具体包括:
标记比对单元,用于将生成的控件标记与已存储的控件标记进行比对;
标记重新生成单元,用于如果二者重复,则抛弃当前生成的控件标记,并重新生成新的控件标记;
唯一标记存储单元,用于继续将新的控件标记与已存储的控件标记比对,以将生成的且不重复的控件标记进行存储。
在其中至少一种可能的实现方式中,所述前端控件执行标准包括:
预先基于各类前端框架、各类前端控件以及大量的前端控件调用记录,构建控件知识图谱,并将所述控件知识图谱作为所述前端控件执行标准;
或者,
基于所述控件信息,从所述控件知识图谱中提取出相应于目标界面各控件的控件知识数据,并形成所述前端控件执行标准。
在其中至少一种可能的实现方式中,所述运行记录标识包括:执行标识;或者,所述运行记录标识包括:执行标识和启用标识。
在其中至少一种可能的实现方式中,所述标识更新模块具体用于:
更新该控件的所述执行标识;
或者,
更新该控件的所述执行标识和所述启用标识。
在其中至少一种可能的实现方式中,所述运行记录标识还包括:统计标识;
所述比对检测模块包括:
逐个比对单元,用于与所述前端控件执行标准逐个比对目标界面的各控件;
标识更新单元,用于在比对每一个控件之后,更新该控件的统计标识。
第三方面,本发明提供了一种前端控件覆盖度检测设备,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,所述存储器可以采用非易失性存储介质,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第五方面,本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机执行时,用于执行第一方面或者第一方面的任一可能实现方式中的所述方法。
在第五方面的一种可能的设计中,该产品涉及到的相关程序可以全部或者部分存储在与处理器封装在一起的存储器上,也可以部分或者全部存储在不与处理器封装在一起的存储介质上。
本发明的构思在于,基于图像识别技术实现对前端界面图像所含控件的识别和拆解,进而可以获取到各控件代码,接着对各控件代码***预制的标记,在监听到前端请求并且当请求执行完成后,若代码运行到该标记,则对预存的该控件的运行记录标识进行更新,以此类推当所有请求执行完成后,并可读取出各控件的最终的运行记录标识,接着再与设定的控件执行标准进行比对,便可以完成对该前端界面控件元素覆盖度的检测,也即是可以评价出相应于该前端界面的代码质量。本发明可以快速、方便地识别并拆解出前端控件信息,并配合***的控件标记,实现控件在执行前端请求过程中对运行记录标识逐个进行变更,进而可以在测试后基于执行标准比对出代码覆盖度情况,本发明无需耗费人工成本,也无需增加额外的测试资源,且当交互界面或交互逻辑改变时,也可以便捷、高效地完成覆盖度检测。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的前端控件覆盖度检测方法的实施例的流程图;
图2为本发明提供的从图像中识别控件的较佳实施例的流程图;
图3为本发明提供的前端控件覆盖度检测装置的实施例的方框图;
图4为本发明提供的前端控件覆盖度检测设备的实施例的示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在对本发明技术方案进行介绍前,可以说明的是,对前端进行测试还可以通过安装插件的方式,即将代码检测脚本注入到前端代码中并部署执行,但这个过程需要将新生成的文件再次引入项目,并获取输出文件,通过运行输出以查看检测结果。在实际使用中发现,该方式不得不需要频繁地验证各步骤部署执行结果,以确定每个阶段已将代码检测脚本注入项目并部署成功,这种方式的弊端在于比较繁琐、不易于操作且验证效率不高。
另外,本发明还进一步分析,依据不同的业务需求,交互界面是非常易于变化的,当对用户界面所涉及控件进行改动后,基于传统的端到端的测试形态,在很大程度上依赖于服务端的执行结果,以及整个环境与其他模块的关联,这便会在整体上给前端测试额外增加投入成本,尤其多模块测试链条加长,该情况更为明显。
有鉴于上述,本发明站位于如何简便、经济地克服由交互界面或交互操作变更导致前端控件对多场景覆盖度检测不佳的问题,提出基于图像识别技术实现界面控件解析,并通过对控件代码***标记,用以在执行前端请求后准确更新相应的运行记录标识,最后再通过将各控件元素的运行记录标识与设定标准进行比对,从而能够简洁、准确地评价前端控件对多种场景的覆盖程度。
本发明提供了至少一种前端控件覆盖度检测方法的实施例,如图1所示,可以包括如下步骤:
步骤S1、从目标界面的图像中获取所含各控件的控件信息。
人工智能从诞生以来,应用领域在不断扩大,本发明在设计时考虑到图像识别技术作为人工智能的一个大类,并且图像是人类获取和交换信息的主要来源,因此可以结合图像识别以及信息综合处理等能力解决交互界面频繁变化、多交互逻辑的问题,进而可以推进前端技术演进,满足业务的实际发展需要。据此,本发明提出采用图像识别技术对待处理的目标界面进行控件识别,当然在实际操作中,在该图像识别过程中还可以设计其他优选环节,例如对采集的图像进行预处理,例如但不限于去噪、平滑、变换等操作,该环节可以加强图像的边界和细节信息,有助于提升后续控件识别的准确性。此外,还可以考虑对界面图像进行分区域处理,也即是将整个界面拆分成若干图像区域,进而针对每一个图像区域进行后续控件识别检测,此环节可以将识别任务进行单位化拆分,逐个区域进行识别操作,以简化识别处理的运算复杂度。
而关于具体的图像识别操作,同样也可以设计多种不同的实现方式,例如直接基于目标界面的图像,捕获其中各控件元素的具体信息,也可以采用逐步处理策略,例如先从界面中锁定若干控件对象,再对控件的具体类型和位置等信息进行进一步识别,对此可以参考图2所示实施例,具体包括如下步骤:
步骤S11、采集目标界面图像;
步骤S12、提取所述目标界面图像的特征,并结合预设的处理对象识别策略,确定出若干处理对象;
步骤S13、提取各所述处理对象的特征,并结合预设的控件识别策略,确定出各控件的类型信息和位置信息。
在实际操作中,具体可以获取前端图像数据(也可以是获取经由图像分割得到的各区域图像),再采用预先构建的处理对象识别模型对采集图像进行处理对象识别,所述处理对象识别模型构建方法可以包括:
①、获取前端界面图像并标注出待识别部位;
②、利用训练集训练处理对象识别模型,确定图像中哪些部位属于控件元素;其中,所述处理对象识别模型可以但不限于基于InceptionResNetV2神经网络进行训练。
然后再采用预先构建的控件识别模型对前述处理对象识别进行控件辨识,所述控件识别模型构建方法可以包括:
①、获取多幅包含已知控件信息的并处理对象图像,并进行标注;
②、根据标注后的训练图像训练控件识别模型,从而可以确定出目标界面各控件的控件信息;其中,所述控件识别模型可以但不限于基于YOLOv3神经网络进行训练。
前述图像特征提取及识别策略本身可以借鉴图像处理领域的成熟技术,此处不作赘述,而需要结合本发明的技术任务进一步说明的是,其中所述控件信息,具体可以是指控件的功能类型,当然还可以包含控件所处位置。关于控件的类型信息具体可以参考如下:对话框、弹出框、单选框、多选框、输入框、开关、滑块、日期时间选择器、可点击的提交按钮、密码字段等等,具体可参考本领域涉及的前端组件库等。总之,通过上述图像识别处理,即便界面变更、控件调整,也能够迅速拆解出界面中某控件具体属于什么类型、在界面哪个位置等信息。
步骤S2、根据所述控件信息,解析出各控件的代码;
步骤S3、在各控件的所述代码中***控件标记。
在前述步骤拆解出控件信息后,便可以从界面代码中获取到各控件的代码,本实施例提出为各控件的代码***一个或多个控件标记,例如对各前端控件代码的所有条件***可以表征该控件“身份”的控件标记或者表征代码执行完毕的控件标记。而具体关于所述控件标记,可以基于前述控件信息以及预设规则,生成与各控件一一对应的控件标记,这里所述规则可以根据实际需求调整,例如在本发明的一个优选实施例中,以“控件要素+***时间+控件位置+元素编号”作为生成控件标记的规则条件。
进一步地,为了便于检测过程能够对控件记录以及各控件进行查询、核对,以及便于对覆盖度进行更为准确的比对、评估,可以将各控件的控件信息及相应于各控件的控件标记进行记录,例如可以将各控件的所述控件信息以及相应的所述控件标记存储在数据库中,更为优选地,可以在数据库中构建标记记录表,其可以用来存储生成的各控件标记。
基于此,本发明还进一步考虑,在实际操作中可能涉及的控件元素较多或者变更界面、新增或调整控件,因而在存储控件标记之前,还可以将生成的控件标记与已存储的控件标记进行比对,如果二者重复,则抛弃当前生成的控件标记,并可以基于前述规则条件以及当前控件信息,重新生成新的控件标记,然后再继续将该新的控件标记与已存储的控件标记比对,此方式的最终效果是将生成的且不重复的控件标记进行存储,其作用是确保控件标记和控件的一一对应性以及标记唯一性,避免影响后续步骤的实施。
接续前文,步骤S4、实时监听用户输入的请求并执行相应的控件功能;
步骤S5、当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识。
在检测过程中前端一直保持监听状态,以便获取到用户下达的请求指令,当然可以理解的是,用户输入的请求可以基于语音、文本、图像等多种形式,以语音请求为例,可以进一步通过转写引擎获得相应于语音流的文本,并结合语义理解技术确定用户的指令含义,从而可以调用相应的控件进行操作,以处理前端请求。本发明不对前端请求形式和处理请求的过程做出限定,而需要强调的是,要满足两个条件才可以对控件的运行记录标识进行更新,该两个条件是指完成了前端请求以及运行到前述控件标记,以此才能准确保证针对该控件的运行状态已经发生改变,这里所述运行记录标识可以包括执行标识,也可以包括执行标识和启用标识,这可以基于不同的控件类型予以设定,例如在前述数据库中为目标界面设置控件运行状态记录表(或称为代码运行记录表等),当然该控件运行状态记录表也可以预先构建成可以涵盖较多控件类型以及较多标识类型的预制表格,而在对当前目标界面进行检测时,可以在该较为全面的预制表格中做出针对性的变更。
具体关于更新控件的运行记录标识则可以包括:更新该控件的所述执行标识;或者,更新该控件的所述执行标识和所述启用标识。例如当满足前述两个条件后,可以将对应该控件的执行标识从0变更为1,而对已经启用的控件则将启用标识从0变更为1,而对未启用的控件(例如填表界面的复选框,当选择一个选项后,另一项置灰)则保持为0。
步骤S6、获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
以前述步骤方式,执行完成对目标界面的所有请求,并由此得到目标界面各控件的最终的运行记录标识,具体来说,可以在本步骤提及的覆盖度检测环节,获取前端请求中的关键词、调用方式、描述等信息,获取各前端控件类型信息和位置信息,获取数据库中各前端控件当前的执行标识、启用标识,再将这些信息进行结构化处理、组合,得到当前的目标界面的控件执行结果,例如将目标界面的上述各种信息填入结构化的模板中,得到目标界面多场景覆盖度报告。而作为比对标准的所述前端控件执行标准则可以预先基于各类前端框架、各类前端控件以及大量的前端控件调用记录,构建出控件知识图谱(或称为控件知识库等),并将所述控件知识图谱作为所述前端控件执行标准。具体关于构建控件知识图谱的方式则可以参考如下:
①、基于各类前端控件(如前文提及已知的各种控件组件等)的定义、用法、调用规则等;
②、获取以往大量前端控件调用记录,提取其中的描述文本并规范化为控件描述;
③、基于各类前端框架(例如Angular、React和Vue等)的定义、用法、调用规则等。
还可以进一步说明的是,在本发明的其他优选方案中,还可以进一步考虑检测针对性,基于当前的目标界面的控件信息,从前述较为全面的控件知识图谱中提取出相应于目标界面各控件的控件知识数据,并形成所述前端控件执行标准,也即是生成特定的比对标准,对当前界面的控件执行结果的覆盖度进行评估。
最后,还可以补充的是,在本发明至少一种优选的实施方式中,前述运行记录标识还可以包括:统计标识。因而可以在最后的检测覆盖度阶段,与所述前端控件执行标准逐个比对目标界面的各控件,并在比对每一个控件之后,更新该控件的统计标识,以此确保检测对象的唯一性,避免重复比对、混淆检测结果。
综上所述,本发明的构思在于,基于图像识别技术实现对前端界面图像所含控件的识别和拆解,进而可以获取到各控件代码,接着对各控件代码***一个预制的标记,在监听到前端请求并且当请求执行完成后,若代码运行到该标记,则对预存的该控件的运行记录标识进行更新,以此类推当所有请求执行完成后,并可读取出各控件的最终的运行记录标识,接着再与设定的控件执行标准进行比对,便可以完成对该前端界面控件元素覆盖度的检测,也即是可以评价出相应于该前端界面的代码质量。本发明可以快速、方便地识别并拆解出前端控件信息,并配合***的控件标记,实现控件在执行前端请求过程中对运行记录标识逐序进行变更,进而可以在测试后基于执行标准比对出代码覆盖度情况,本发明无需耗费人工成本,也无需增加额外的测试资源,且当交互界面或交互逻辑改变时,也可以便捷、高效地完成覆盖度检测。
相应于上述各实施例及优选方案,本发明还提供了一种前端控件覆盖度检测装置的实施例,如图3所示,具体可以包括如下部件:
控件拆解模块1,用于从目标界面的图像中获取所含各控件的控件信息;
代码解析模块2,用于根据所述控件信息,解析出各控件的代码;
标记***模块3,用于在各控件的所述代码中***控件标记;
请求处理模块4,用于实时监听用户输入的请求并执行相应的控件功能;
标识更新模块5,用于当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识;
比对检测模块6,用于获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
在其中至少一种可能的实现方式中,所述控件拆解模块包括:
图像采集单元,用于采集目标界面图像;
处理对象识别单元,用于提取所述目标界面图像的特征,并结合预设的处理对象识别策略,确定出若干处理对象;
控件识别单元,用于提取各所述处理对象的特征,并结合预设的控件识别策略,确定出各控件的类型信息和位置信息。
在其中至少一种可能的实现方式中,所述装置还包括:控件标记生成模块;所述控件标记生成模块具体包括:
标记生成单元,用于根据所述控件信息以及预设规则,生成与各控件一一对应的控件标记;
信息存储单元,用于存储各控件的所述控件信息以及相应的所述控件标记。
在其中至少一种可能的实现方式中,所述装置还包括:标记唯一性检查模块;所述标记唯一性检查模块具体包括:
标记比对单元,用于将生成的控件标记与已存储的控件标记进行比对;
标记重新生成单元,用于如果二者重复,则抛弃当前生成的控件标记,并重新生成新的控件标记;
唯一标记存储单元,用于继续将新的控件标记与已存储的控件标记比对,以将生成的且不重复的控件标记进行存储。
在其中至少一种可能的实现方式中,所述前端控件执行标准包括:
预先基于各类前端框架、各类前端控件以及大量的前端控件调用记录,构建控件知识图谱,并将所述控件知识图谱作为所述前端控件执行标准;
或者,
基于所述控件信息,从所述控件知识图谱中提取出相应于目标界面各控件的控件知识数据,并形成所述前端控件执行标准。
在其中至少一种可能的实现方式中,所述运行记录标识包括:执行标识;或者,所述运行记录标识包括:执行标识和启用标识。
在其中至少一种可能的实现方式中,所述标识更新模块具体用于:
更新该控件的所述执行标识;
或者,
更新该控件的所述执行标识和所述启用标识。
在其中至少一种可能的实现方式中,所述运行记录标识还包括:统计标识;
所述比对检测模块包括:
逐个比对单元,用于与所述前端控件执行标准逐个比对目标界面的各控件;
标识更新单元,用于在比对每一个控件之后,更新该控件的统计标识。
应理解以上图3所示的前端控件覆盖度检测装置可中各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上***(System-On-a-Chip;以下简称:SOC)的形式实现。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种前端控件覆盖度检测设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
图4为本发明前端控件覆盖度检测设备的实施例的结构示意图,其中,该设备可以是电子设备也可以是内置于上述电子设备的电路设备。上述电子设备可以为PC、服务器、智能终端(手机、平板等)以及专用的前端开发测试设备等。本实施例对前端控件覆盖度检测设备的具体形式不作限定。
具体如图4所示,前端控件覆盖度检测设备900包括处理器910和存储器930。其中,处理器910和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得前端控件覆盖度检测设备900的功能更加完善,该设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏。
进一步地,上述前端控件覆盖度检测设备900还可以包括电源950,用于给该设备900中的各种器件或电路提供电能。
应理解,图4所示的前端控件覆盖度检测设备900能够实现前述实施例提供的方法的各个过程。该设备900中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,图4所示的前端控件覆盖度检测设备900中的处理器910可以是片上***SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的前端控件覆盖度检测方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;接续前文,上述设备/终端可以是一台计算机设备(例如手机、PC终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储介质可以包括:非易失性存储器(non-volatile memory),例如非可移动磁盘、U盘、移动硬盘、光盘等,以及只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如***网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.一种前端控件覆盖度检测方法,其特征在于,包括:
从目标界面的图像中获取所含各控件的控件信息;
根据所述控件信息,解析出各控件的代码;
在各控件的所述代码中***控件标记;
实时监听用户输入的请求并执行相应的控件功能;
当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识;
获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
2.根据权利要求1所述的前端控件覆盖度检测方法,其特征在于,所述基于图像识别技术,从目标界面的图像中获取所含各控件的控件信息包括:
采集目标界面图像;
提取所述目标界面图像的特征,并结合预设的处理对象识别策略,确定出若干处理对象;
提取各所述处理对象的特征,并结合预设的控件识别策略,确定出各控件的类型信息和位置信息。
3.根据权利要求1所述的前端控件覆盖度检测方法,其特征在于,所述方法还包括:
根据所述控件信息以及预设规则,生成与各控件一一对应的控件标记;
存储各控件的所述控件信息以及相应的所述控件标记。
4.根据权利要求3所述的前端控件覆盖度检测方法,其特征在于,所述方法还包括:
将生成的控件标记与已存储的控件标记进行比对;
如果二者重复,则抛弃当前生成的控件标记,并重新生成新的控件标记;
继续将新的控件标记与已存储的控件标记比对,将生成的且不重复的控件标记进行存储。
5.根据权利要求1所述的前端控件覆盖度检测方法,其特征在于,所述前端控件执行标准包括:
预先基于各类前端框架、各类前端控件以及大量的前端控件调用记录,构建控件知识图谱,并将所述控件知识图谱作为所述前端控件执行标准;
或者,
基于所述控件信息,从所述控件知识图谱中提取出相应于目标界面各控件的控件知识数据,并形成所述前端控件执行标准。
6.根据权利要求1~5任一项所述的前端控件覆盖度检测方法,其特征在于,
所述运行记录标识包括:执行标识;
或者,
所述运行记录标识包括:执行标识和启用标识。
7.根据权利要求6所述的前端控件覆盖度检测方法,其特征在于,所述更新该控件的运行记录标识包括:
更新该控件的所述执行标识;
或者,
更新该控件的所述执行标识和所述启用标识。
8.根据权利要求6所述的前端控件覆盖度检测方法,其特征在于,
所述运行记录标识还包括:统计标识;
所述与设定的前端控件执行标准进行比对包括:与所述前端控件执行标准逐个比对目标界面的各控件,并在比对每一个控件之后,更新该控件的统计标识。
9.一种前端控件覆盖度检测装置,其特征在于,包括:
控件拆解模块,用于从目标界面的图像中获取所含各控件的控件信息;
代码解析模块,用于根据所述控件信息,解析出各控件的代码;
标记***模块,用于在各控件的所述代码中***控件标记;
请求处理模块,用于实时监听用户输入的请求并执行相应的控件功能;
标识更新模块,用于当请求处理完毕且代码运行至相应控件的所述控件标记时,更新该控件的预设的运行记录标识;
比对检测模块,用于获取目标界面各控件的最终的运行记录标识,并与设定的前端控件执行标准进行比对,生成覆盖度检测结果。
10.一种前端控件覆盖度检测设备,其特征在于,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1~8任一项所述的前端控件覆盖度检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010688606.4A CN111858331A (zh) | 2020-07-16 | 2020-07-16 | 前端控件覆盖度检测方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010688606.4A CN111858331A (zh) | 2020-07-16 | 2020-07-16 | 前端控件覆盖度检测方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858331A true CN111858331A (zh) | 2020-10-30 |
Family
ID=72984304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010688606.4A Pending CN111858331A (zh) | 2020-07-16 | 2020-07-16 | 前端控件覆盖度检测方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858331A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698187A (zh) * | 2020-12-08 | 2021-04-23 | 重庆百瑞互联电子技术有限公司 | 一种提高集成电路测试覆盖率的方法及装置 |
CN114461124A (zh) * | 2022-01-30 | 2022-05-10 | 深圳创维-Rgb电子有限公司 | 投屏控制方法、装置、投屏器及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100146420A1 (en) * | 2008-12-10 | 2010-06-10 | Microsoft Corporation | Gui testing |
CN104166541A (zh) * | 2013-05-17 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 用于更新被测控件库的方法和装置 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
CN108710574A (zh) * | 2018-05-23 | 2018-10-26 | 百度在线网络技术(北京)有限公司 | 用户界面测试方法和装置 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
CN109871316A (zh) * | 2019-01-10 | 2019-06-11 | 北京云测信息技术有限公司 | 一种控件识别方法和装置 |
CN109947617A (zh) * | 2019-02-25 | 2019-06-28 | 努比亚技术有限公司 | 一种监听应用界面显示内容的方法、终端及可读存储介质 |
CN110879777A (zh) * | 2019-10-12 | 2020-03-13 | 平安普惠企业管理有限公司 | 应用界面的控件测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-07-16 CN CN202010688606.4A patent/CN111858331A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100146420A1 (en) * | 2008-12-10 | 2010-06-10 | Microsoft Corporation | Gui testing |
CN104166541A (zh) * | 2013-05-17 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 用于更新被测控件库的方法和装置 |
CN108681508A (zh) * | 2018-05-15 | 2018-10-19 | 福建天泉教育科技有限公司 | 一种基于视觉识别的测试方法及终端 |
CN108710574A (zh) * | 2018-05-23 | 2018-10-26 | 百度在线网络技术(北京)有限公司 | 用户界面测试方法和装置 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
CN109871316A (zh) * | 2019-01-10 | 2019-06-11 | 北京云测信息技术有限公司 | 一种控件识别方法和装置 |
CN109947617A (zh) * | 2019-02-25 | 2019-06-28 | 努比亚技术有限公司 | 一种监听应用界面显示内容的方法、终端及可读存储介质 |
CN110879777A (zh) * | 2019-10-12 | 2020-03-13 | 平安普惠企业管理有限公司 | 应用界面的控件测试方法、装置、计算机设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698187A (zh) * | 2020-12-08 | 2021-04-23 | 重庆百瑞互联电子技术有限公司 | 一种提高集成电路测试覆盖率的方法及装置 |
CN112698187B (zh) * | 2020-12-08 | 2023-08-04 | 重庆百瑞互联电子技术有限公司 | 一种提高集成电路测试覆盖率的方法及装置 |
CN114461124A (zh) * | 2022-01-30 | 2022-05-10 | 深圳创维-Rgb电子有限公司 | 投屏控制方法、装置、投屏器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251046B2 (en) | Method and system for generating and processing black box test cases | |
CN109376069B (zh) | 一种测试报告的生成方法及设备 | |
KR20160122452A (ko) | 비주얼 콘텐츠기반 영상 인식을 위한 딥러닝 프레임워크 및 영상 인식 방법 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN111858331A (zh) | 前端控件覆盖度检测方法、装置以及设备 | |
CN104252592A (zh) | 外挂应用程序的识别方法及装置 | |
CN105095415A (zh) | 网络情绪的确定方法和装置 | |
CN110489324A (zh) | 测试页面跳转的方法、装置、存储介质、电子装置 | |
CN111447224A (zh) | web漏洞扫描方法及漏洞扫描器 | |
CN109241485A (zh) | 一种页面间跳转关系建立方法,及装置 | |
CN109743286A (zh) | 一种基于图卷积神经网络的ip类型标记方法及设备 | |
CN113778864A (zh) | 一种测试用例的生成方法和装置、电子设备和存储介质 | |
CN108875317A (zh) | 软件克隆检测方法及装置、检测设备及存储介质 | |
CN117421217A (zh) | 一种软件功能自动测试方法、***、终端及介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN110322587B (zh) | 驾驶过程中的评价记录方法、装置、设备及存储介质 | |
CN109285009A (zh) | 刷单识别方法和刷单识别装置 | |
CN103701671B (zh) | 一种检测业务之间存在冲突的方法及装置 | |
CN113628077B (zh) | 生成不重复考题的方法、终端及可读存储介质 | |
CN105848155B (zh) | 一种终端非法刷机识别方法及装置 | |
CN112687274A (zh) | 一种语音信息的处理方法、装置、设备及介质 | |
CN116070816A (zh) | 一种基于物联网的飞行模拟训练管理方法及*** | |
CN112929458B (zh) | App应用的服务端地址确定方法、装置以及存储介质 | |
KR20220091897A (ko) | 패턴 기반 SoS 내 실패 유발 상호작용 분석 방법 및 장치 | |
CN110109697B (zh) | 神经网络模型的sdk输出方法、装置、电子设备及存储介质 |
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 |