CN112181838B - 一种基于图像比对的自动化测试方法 - Google Patents
一种基于图像比对的自动化测试方法 Download PDFInfo
- Publication number
- CN112181838B CN112181838B CN202011060949.2A CN202011060949A CN112181838B CN 112181838 B CN112181838 B CN 112181838B CN 202011060949 A CN202011060949 A CN 202011060949A CN 112181838 B CN112181838 B CN 112181838B
- Authority
- CN
- China
- Prior art keywords
- image
- verification
- mask
- page
- real
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于图像比对的自动化测试方法,涉及自动化测试领域,该方法包括配置基准图像库,基准图像库中存储有每种校验页面的标准图像;调用遮罩标记工具对标准图像的动态数据进行遮罩处理得到蒙版文件;获取需要图像校验的校验页面,并在基准图像库中匹配对应的标准图像;调用蒙版文件获取遮罩区域的坐标,根据坐标将对应的标准图像与需要图像校验的校验页面中的遮罩区域替换成相同的静态数据;将处理后的对应的标准图像与需要图像校验的校验页面进行图像比对,判断需要图像校验的校验页面是否合格;本申请使用计算机视觉算法进行图像遮罩处理并进行图像比对,规避校验页面中变化的动态数据对测试结果的影响,提高了测试的精度。
Description
技术领域
本发明涉及自动化测试领域,尤其是一种基于图像比对的自动化测试方法。
背景技术
随着软件测试技术的发展,自动化测试作为提高测试效率保证测试覆盖度的重要手段,应用越来越普遍。但是大部分测试工具主要通过校验对象是否存在,以及对象属性值来判断测试结果是否正确,不支持图像的校验,因此,很难对图形进行校验,对于页面样式的校验也是一个难题。
现有的自动化测试工具,如QTP(Quick Test Professional,自动测试工具),支持位图检查点,将网页或应用程序的某个区域捕获为位图后对其进行检查。QTP提供的位图检查点功能,可以用于校验页面某个区域的图像是否与预期一致。但位图校验点测试图像和预期图像存在任何的差异都会导致测试的失败,仅适用于内容固定的特定区域的图像校验,比如页面Logo,在实际的自动化测试中,应用场景非常有限,且校验失败率高,不能满足自动化测试中页面视觉验证的需要。
发明内容
本发明人针对上述问题及技术需求,提出了一种基于图像比对的自动化测试方法,使用计算机视觉算法进行图像遮罩处理并进行图像比对,规避校验页面中变化的动态数据对测试结果的影响,解决自动化测试中页面样式校验不足的问题。
本发明的技术方案如下:
一种基于图像比对的自动化测试方法,包括如下步骤:
配置基准图像库,基准图像库中存储有每种校验页面的标准图像;
调用遮罩标记工具对标准图像的动态数据进行遮罩处理得到蒙版文件;
获取需要图像校验的校验页面,并在基准图像库中匹配对应的标准图像;
调用蒙版文件获取遮罩区域的坐标,根据坐标将对应的标准图像与需要图像校验的校验页面中的遮罩区域替换成相同的静态数据;
将处理后的对应的标准图像与需要图像校验的校验页面进行图像比对,判断需要图像校验的校验页面是否合格。
其进一步的技术方案为,自动化测试方法还包括:
若需要图像校验的校验页面在基准图像库中没有匹配到对应的标准图像,则创建需要图像校验的校验页面的标准图像。
其进一步的技术方案为,创建需要图像校验的校验页面的标准图像,包括:
获取需要图像校验的校验页面的实时快照并保存在基准图像库中;
人工识别实时快照中是否存在动态数据,动态数据为在测试过程中不断发生变化的数据;
若存在则调用遮罩标记工具对实时快照的动态数据进行遮罩处理得到蒙版文件;
若不存在则直接存储实时快照并作为标准图像。
其进一步的技术方案为,遮罩标记工具基于OpenCV实现,调用遮罩标记工具对动态数据进行遮罩处理得到蒙版文件,包括:
根据动态数据在标准图像或实时快照上的分布位置,调用OpenCV的鼠标事件响应函数和矩形区域函数将标准图像或实时快照划分为若干个矩形区域,包含动态数据的区域为遮罩区域,并将遮罩区域的坐标保存到蒙版文件中,蒙版文件与标准图像或实时快照一一对应。
其进一步的技术方案为,标准图像的名称与校验页面的名称一致,获取需要图像校验的校验页面,并在基准图像库中匹配对应的标准图像,包括:
通过快照捕获方法获取需要图像校验的校验页面的实时快照,实时快照包括校验页面的全部页面或者页面中需要检验的特定元素的页面元素快照,将实时快照保存在测试快照目录中并以校验页面的名称命名;
根据名称在基准图像库中匹配对应的标准图像。
其进一步的技术方案为,根据坐标将对应的标准图像与需要图像校验的校验页面中的遮罩区域替换成相同的静态数据,包括:
确定遮罩区域的坐标后,使用OpenCV的bitwise_and()函数同时将对应的标准图像与需要图像校验的校验页面中的遮罩区域的像素值进行二进制“与”操作,将遮罩区域替换成相同的静态数据,静态数据为用0填充的数组。
其进一步的技术方案为,将处理后的对应的标准图像与需要图像校验的校验页面进行图像比对,判断需要图像校验的校验页面是否合格,包括:
基于scikit-image库进行图像比对,首先将处理后的对应的标准图像与需要图像校验的校验页面转换成灰度图像,然后使用compare_ssim()函数计算两个灰度图像之间的结构相似性指数;
若结构相似性指数超过误差范围,则需要图像校验的校验页面不合格,否则测试通过,需要图像校验的校验页面合格。
本发明的有益技术效果是:
在自动化测试中,使用机器视觉算法将标准图像进行遮罩处理得到带有遮罩区域坐标的蒙版文件,当有需要图像校验的校验页面时将其与存在基准图像库中的标准图像进行匹配,若匹配到对应的标准图像则根据遮罩区域坐标将对应的标准图像与校验页面中的遮罩区域替换成相同的静态数据,避免动态数据影响图像校验的准确度,然后进行图像比对判断校验页面是否合格,否则创建该校验页面的标准图像并存储在基准图像库中再进行图像比对,本申请的测试方法有效的解决了自动化测试中页面样式校验不足的问题,在自动化测试中,针对系统各个页面跳转和页面弹框都可以广泛应用本申请的测试方法来发现页面的改变并进行相应的遮罩处理,可以大大提高自动化测试覆盖率,降低自动化测试覆盖的成本。
附图说明
图1是本申请提供的基于图像比对的自动化测试方法的流程图。
图2是本申请一实施例提供的标准图像。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请公开了一种基于图像比对的自动化测试方法,其流程图如图1所示,自动化测试方法包括如下步骤:
步骤1:配置基准图像库,基准图像库中存储有每种校验页面的标准图像。
本申请的标准图像基于工人校验确定,并设置标准图像的名称与校验页面的名称一致。
步骤2:调用遮罩标记工具对标准图像的动态数据进行遮罩处理得到蒙版文件。
本申请的遮罩标记工具基于OpenCV实现,动态数据为在测试过程中不断发生变化的数据,比如业务数据、时间。根据动态数据在标准图像上的分布位置,调用OpenCV的鼠标事件响应函数和矩形区域函数将标准图像划分为若干个矩形区域,如图2所示,在标准图像中用矩形框1标记的区域也即动态数据所在的区域,比如“CPU占用率9%”、“内存占用率52%”等等。包含动态数据的区域为遮罩区域,并将遮罩区域的坐标保存到蒙版文件中,蒙版文件与标准图像一一对应。
步骤3:获取需要图像校验的校验页面,并在基准图像库中匹配对应的标准图像。
通过快照捕获方法获取需要图像校验的校验页面的实时快照,其中实时快照包括校验页面的全部页面或者页面中需要检验的特定元素的页面元素快照。将实时快照保存在测试快照目录中并以校验页面的名称命名。
根据名称在基准图像库中匹配对应的标准图像,若匹配成功则进入步骤5,否则进入步骤4。
步骤4:若需要图像校验的校验页面在基准图像库中没有匹配到对应的标准图像,则创建需要图像校验的校验页面的标准图像。
获取需要图像校验的校验页面的实时快照并保存在基准图像库中;
人工识别实时快照中是否存在动态数据;
若存在则调用遮罩标记工具对实时快照的动态数据进行遮罩处理得到蒙版文件。该步骤与本申请步骤2的方法相同,在此不进行赘述。
若不存在则直接存储实时快照并作为标准图像。
步骤5:调用蒙版文件获取遮罩区域的坐标,根据坐标将对应的标准图像与需要图像校验的校验页面中的遮罩区域替换成相同的静态数据。
确定遮罩区域的坐标后,使用OpenCV的bitwise_and()函数同时将对应的标准图像与需要图像校验的校验页面中的遮罩区域的像素值进行二进制“与”操作,将遮罩区域替换成相同的静态数据,静态数据为用0填充的数组,也即“黑色”。该步骤实现了通过蒙版文件将动态数据转化为静态数据,避免动态数据影响图像校验的准确度,有效的解决了自动化测试中页面样式校验不足的问题,提高了图像校验的准确度。
步骤6:将处理后的对应的标准图像与需要图像校验的校验页面进行图像比对,判断需要图像校验的校验页面是否合格。
基于scikit-image库进行图像比对,首先将处理后的对应的标准图像与需要图像校验的校验页面转换成灰度图像,然后使用compare_ssim()函数计算两个灰度图像之间的结构相似性指数;
若结构相似性指数超过误差范围,则需要图像校验的校验页面不合格,将图像比对差异结果标记并保存在特定目录下,方便对差异结果随时查看和分析;
若所述结构相似性指数接近“1”,则需要图像校验的校验页面合格,测试通过,其中误差范围由测试者根据自身需求设定。
在自动化测试中,针对系统各个页面跳转和页面弹框都可以广泛应用本申请的测试方法来发现页面的改变并进行相应的遮罩处理,可以大大提高自动化测试覆盖率,降低自动化测试覆盖的成本。
以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (6)
1.一种基于图像比对的自动化测试方法,其特征在于,所述自动化测试方法包括:
配置基准图像库,所述基准图像库中存储有每种校验页面的标准图像;
根据所述标准图像的动态数据在所述标准图像或实时快照上的分布位置,调用基于OpenCV实现的遮罩标记工具的鼠标事件响应函数和矩形区域函数将所述标准图像或实时快照划分为若干个矩形区域,包含所述动态数据的区域为遮罩区域,并将所述遮罩区域的坐标保存到蒙版文件中,所述蒙版文件与所述标准图像或实时快照一一对应;
获取需要图像校验的校验页面,并在所述基准图像库中匹配对应的标准图像;
调用所述蒙版文件获取遮罩区域的坐标,根据所述坐标将所述对应的标准图像与所述需要图像校验的校验页面中的遮罩区域替换成相同的静态数据;
将处理后的所述对应的标准图像与所述需要图像校验的校验页面进行图像比对,判断所述需要图像校验的校验页面是否合格。
2.根据权利要求1所述的基于图像比对的自动化测试方法,其特征在于,所述自动化测试方法还包括:
若所述需要图像校验的校验页面在所述基准图像库中没有匹配到对应的标准图像,则创建所述需要图像校验的校验页面的标准图像。
3.根据权利要求2所述的基于图像比对的自动化测试方法,其特征在于,所述创建所述需要图像校验的校验页面的标准图像,包括:
获取所述需要图像校验的校验页面的实时快照并保存在所述基准图像库中;
人工识别所述实时快照中是否存在动态数据,所述动态数据为在测试过程中不断发生变化的数据;
若存在则调用所述遮罩标记工具对所述实时快照的动态数据进行遮罩处理得到蒙版文件;
若不存在则直接存储所述实时快照并作为所述标准图像。
4.根据权利要求1所述的基于图像比对的自动化测试方法,其特征在于,所述标准图像的名称与所述校验页面的名称一致,所述获取需要图像校验的校验页面,并在所述基准图像库中匹配对应的标准图像,包括:
通过快照捕获方法获取所述需要图像校验的校验页面的实时快照,所述实时快照包括校验页面的全部页面或者页面中需要检验的特定元素的页面元素快照,将所述实时快照保存在测试快照目录中并以所述校验页面的名称命名;
根据名称在所述基准图像库中匹配对应的标准图像。
5.根据权利要求1所述的基于图像比对的自动化测试方法,其特征在于,所述根据所述坐标将所述对应的标准图像与所述需要图像校验的校验页面中的遮罩区域替换成相同的静态数据,包括:
确定所述遮罩区域的坐标后,使用OpenCV的bitwise_and()函数同时将所述对应的标准图像与所述需要图像校验的校验页面中的遮罩区域的像素值进行二进制“与”操作,将所述遮罩区域替换成相同的静态数据,所述静态数据为用0填充的数组。
6.根据权利要求1所述的基于图像比对的自动化测试方法,其特征在于,所述将处理后的所述对应的标准图像与所述需要图像校验的校验页面进行图像比对,判断所述需要图像校验的校验页面是否合格,包括:
基于scikit-image库进行图像比对,首先将所述处理后的所述对应的标准图像与所述需要图像校验的校验页面转换成灰度图像,然后使用compare_ssim()函数计算两个所述灰度图像之间的结构相似性指数;
若所述结构相似性指数超过误差范围,则所述需要图像校验的校验页面不合格,否则测试通过,所述需要图像校验的校验页面合格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060949.2A CN112181838B (zh) | 2020-09-30 | 2020-09-30 | 一种基于图像比对的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060949.2A CN112181838B (zh) | 2020-09-30 | 2020-09-30 | 一种基于图像比对的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181838A CN112181838A (zh) | 2021-01-05 |
CN112181838B true CN112181838B (zh) | 2022-08-30 |
Family
ID=73947368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011060949.2A Active CN112181838B (zh) | 2020-09-30 | 2020-09-30 | 一种基于图像比对的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181838B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399291A (zh) * | 2019-06-20 | 2019-11-01 | 平安普惠企业管理有限公司 | 基于图像识别的用户页面测试方法及相关设备 |
CN110825651A (zh) * | 2019-12-11 | 2020-02-21 | 北京海益同展信息科技有限公司 | 网页兼容性测试方法、装置、系统及存储介质 |
CN111597116A (zh) * | 2020-05-20 | 2020-08-28 | 浪潮软件集团有限公司 | 移动端ui自动化测试方法、系统、存储介质及电子设备 |
-
2020
- 2020-09-30 CN CN202011060949.2A patent/CN112181838B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399291A (zh) * | 2019-06-20 | 2019-11-01 | 平安普惠企业管理有限公司 | 基于图像识别的用户页面测试方法及相关设备 |
CN110825651A (zh) * | 2019-12-11 | 2020-02-21 | 北京海益同展信息科技有限公司 | 网页兼容性测试方法、装置、系统及存储介质 |
CN111597116A (zh) * | 2020-05-20 | 2020-08-28 | 浪潮软件集团有限公司 | 移动端ui自动化测试方法、系统、存储介质及电子设备 |
Non-Patent Citations (3)
Title |
---|
【OpenCV + Python】之bitwise_and、bitwise_not,bitwise_xor等图像基本运算(opencv位操作);宇凡工作室;《https://blog.csdn.net/zhouzongzong/article/details/93028651》;20190623;第1-8页 * |
opencv的逻辑运算bitwise详解;wyx100;《https://blog.csdn.net/wyx100/article/details/75196112》;20170716;第1-6页 * |
剪贴蒙版原理;weixin_44522477;《https://blog.csdn.net/weixin_44522477/article/details/106504152》;20200602;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181838A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113901647B (zh) | 一种零件工艺规程编制方法、装置、存储介质及电子设备 | |
CN113282513B (zh) | 接口测试案例的生成方法、装置、计算机设备及存储介质 | |
CN114266773A (zh) | 显示面板缺陷定位方法、装置、设备及存储介质 | |
CN113888480A (zh) | 一种基于mes的质量追溯方法和系统 | |
CN112668640A (zh) | 一种文本图像质量评估方法、装置、设备及介质 | |
CN112199268A (zh) | 一种软件兼容性测试方法及电子设备 | |
CN112631926A (zh) | 代码测试覆盖率显示方法、装置、计算机设备及存储介质 | |
CN113901768A (zh) | 一种标准文件生成方法、装置、设备及存储介质 | |
CN114648776B (zh) | 一种财务报销数据处理方法和处理系统 | |
CN112052702A (zh) | 一种识别二维码的方法和装置 | |
CN113946510A (zh) | Web页面测试方法、装置、设备及计算机存储介质 | |
CN112181838B (zh) | 一种基于图像比对的自动化测试方法 | |
CN113947564A (zh) | 一种电力行业低压台区计量设备图像校验方法及系统 | |
CN112506897A (zh) | 一种分析、定位数据质量问题的方法及系统 | |
CN115858625A (zh) | 一种大数据多表数据联合校验方法、系统、设备及介质 | |
CN115033434A (zh) | 一种内核性能理论值计算方法、装置及存储介质 | |
CN112580334A (zh) | 一种文案处理方法、装置、服务器及存储介质 | |
CN111310561B (zh) | 车辆配置识别方法及装置 | |
CN110532186B (zh) | 利用验证码进行测试的方法、装置、电子设备和存储介质 | |
CN112529923A (zh) | 一种控件识别方法及装置 | |
CN117033239B (zh) | 一种控件匹配方法、装置、计算机设备及存储介质 | |
CN113886745B (zh) | 页面图片测试方法、装置及电子设备 | |
CN118069949B (zh) | 基于组件树架构的动态布局方法和系统 | |
CN112419022A (zh) | 一种自动化报税方法及系统 | |
CN112286753B (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 |