掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图像识别的WebUI自动化测试方法

文献发布时间:2023-06-19 09:57:26


一种基于图像识别的WebUI自动化测试方法

技术领域

本发明涉及支付,金融领域,特别涉及一种基于图像识别的WebUI自动化测试方法。

背景技术

自动化测试(automation testing)是把以人为驱动的测试行为转化为机器执行的一种过程。在持续交付和持续集成的开发链路中,引入自动化测试来完成一些复杂或者重复性的测试工作,能够大量的节省人力、时间或硬件资源,极大提高测试效率。

图像识别技术,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,是应用深度学习算法的一种实践应用。

目前针对复杂易变的WebUI的界面的自动化测试,业界传统的方案是应用pytest+selenium框架完成实现。由于此种方案的实现严格受限selenium组件本身的局限性,导致某些功能无法完全通过自动化方式覆盖,同时针对由于浏览器类型、版本不同导致WebUI界面产生的形变,乱序等场景的兼容性测试,当前的方案无法支持。因此业界目前缺缺少一种成熟稳定的WebUI自动化测试方案能够解决上述问题。本发明旨在WebUI自动化测试场景中,引入图像识别(picture recognization)技术,解决上述问题。

发明内容

本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于图像识别的WebUI自动化测试方法,当前对于WebUI的自动化测试,由于现有框架的局限性导致不能覆盖浏览器兼容性测试及自适应功能场景,本方案提出一种基于图像识别的WebUI自动化测试方案,能够在保持测试高效简易的同时,解决上述问题,极大的提高WebUI自动化测试的覆盖率,从而提升测试效率。

为了解决上述技术问题,本发明提供了如下的技术方案:

本发明一种基于图像识别的WebUI自动化测试方法,主要包含图像采集模块,图像匹配模块,报告生成模块,采用sikuli+selenium技术框架实现图像采集模块,应用opencv框架辅助实现图像识别模块,最后解析图像匹配的结果,获取差异元素的位置,最终生成测试报告,具体包括以下步骤:

S1.首先获取标准模板图像base.jpg,此模板将作为检测界面异常的标准,而后进入图像截取模块,系统根据不同的配置参数,使用不同的浏览器,用户可以脚本语言调用此模块提供的api,从而控制界面的跳转,将需要测试的界面截取并且保存;

S2.随后进入图像匹配模块,由于浏览器兼容性测试,要求展示的界面与标准模板完全一致,因此可以设定匹配阈值为1,表示图像严格匹配,模块根据获取的图片,进一步清洗、加工特征,相似度计算,最终输出匹配的结果及问题元素的位置信息;

S3.报告生成模块解析匹配结果,生成测试结果报告,整个流程可以使用可以基于图形化编程框架sikuli构建,因为其简便性,可用户直接使用截图来进行UI自动化测试开发。

与现有技术相比,本发明的有益效果如下:

当前对于WebUI的自动化测试,由于现有框架的局限性导致不能覆盖浏览器兼容性测试及自适应功能场景,本方案提出一种基于图像识别的WebUI自动化测试方案,能够在保持测试高效简易的同时,解决上述问题,极大的提高WebUI自动化测试的覆盖率,从而提升测试效率。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本发明的整体方案示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例1

本发明如图1所示,本发明提供一种基于图像识别的WebUI自动化测试方法,主要包含图像采集模块,图像匹配模块,报告生成模块,采用sikuli+selenium技术框架实现图像采集模块,应用opencv框架辅助实现图像识别模块,最后解析图像匹配的结果,获取差异元素的位置,最终生成测试报告,具体包括以下步骤:

S1.首先获取标准模板图像base.jpg,此模板将作为检测界面异常的标准,而后进入图像截取模块,系统根据不同的配置参数,使用不同的浏览器,用户可以脚本语言调用此模块提供的api,从而控制界面的跳转,将需要测试的界面截取并且保存;

S2.随后进入图像匹配模块,由于浏览器兼容性测试,要求展示的界面与标准模板完全一致,因此可以设定匹配阈值为1,表示图像严格匹配,模块根据获取的图片,进一步清洗、加工特征,相似度计算,最终输出匹配的结果及问题元素的位置信息;

S3.报告生成模块解析匹配结果,生成测试结果报告,整个流程可以使用可以基于图形化编程框架sikuli构建,因为其简便性,可用户直接使用截图来进行UI自动化测试开发。

另一方面,在实际使用中,由于界面根据尺寸的变化,导致界面元素产生错位,导致界面布局混乱的现象,需要系统具有自适应的功能。保证界面元素不乱序,元素及元素之间能够保持固定的位置。针对此功能的测试,实现方案如图1所示:

首先选取元素模板menu.jpg和title.jpg,此模板将作为检测界面异常的标准。而后进入图像截取模块,系统根据不同的配置参数,使用不同的浏览器。用户可以脚本语言调用此模块提供的api,从而控制界面的跳转,定位到需要测试的元素,并且获取元素的坐标信息。随后进入图像匹配模块,同整体界面匹配的方式不同,对于元素位置的测试策略,此方案提供绝对匹配及相对匹配两种模式,绝对匹配主要用于检测固定图标的位置,相对匹配则着重解决两个元素之间的位置关系问题。最后将获取的位置信息与设定的位置数据进行比较,输出结果。由报告生成模块进行j结果解析,生成测试结果报告;

本申请相对现有技术而言,所具有的优点和效果。

当前对于WebUI的自动化测试,由于现有框架的局限性导致不能覆盖浏览器兼容性测试及自适应功能场景,本方案提出一种基于图像识别的WebUI自动化测试方案,能够在保持测试高效简易的同时,解决上述问题,极大的提高WebUI自动化测试的覆盖率,从而提升测试效率。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于图像识别的WebUI自动化测试方法
  • 一种基于docker的WebUI自动化测试方法
技术分类

06120112362181