一种视觉断言测试方法、装置、系统及介质与流程

文档序号:30096308发布日期:2022-05-18 10:58阅读:56来源:国知局
一种视觉断言测试方法、装置、系统及介质与流程

1.本发明涉及互联网技术领域,尤其涉及一种视觉断言测试方法、装置、系统及介质。


背景技术:

2.随着软件行业的蓬勃发展,自动化测试逐渐成为软件测试过程中必不可少的一环,然而在自动化实施过程中,需要投入大量的人力。
3.行业内的自动化测试工具编写脚本在对页面进行验证断言的时候,普遍是获取元素的属性和样式进行验证,一个个抓取元素本就费时费力,页面操作时如果元素和元素之间产生联动,也可能导致断言的遗漏,使得断言测试的效率和可靠性均较低。


技术实现要素:

4.鉴于上述现有技术的不足,本发明的目的在于提供一种视觉断言测试方法、装置、系统及介质,旨在提高自动化断言测试的效率和可靠性。
5.本发明的技术方案如下:
6.一种视觉断言测试方法,包括:
7.获取待测试页面,对所述待测试页面进行裁剪,得到页面元素图片;
8.从预设数据库中获取与所述页面元素图片对应的基准图片;
9.根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致;
10.根据图片对比结果输出相应的断言测试结果。
11.在一个实施例中,所述从预设数据库中获取与所述页面元素图片对应的基准图片之前,所述方法还包括:
12.确认所述预设数据库中是否存在与所述页面元素图片对应的基准图片;
13.若存在,则获取与所述页面元素图片对应的基准图片,若不存在,则将所述页面元素图片作为新增基准图片存储至所述预设数据库中。
14.在一个实施例中,所述将所述页面元素图片作为新增基准图片存储至所述预设数据库之后,所述方法还包括:
15.根据接收到的区域划分指令划分所述新增基准图片中的忽略区域,为所述忽略区域增加相应的区域标识,所述忽略区域为不需要进行对比的区域。
16.在一个实施例中,所述根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致,包括:
17.检测所述基准图片中的区域标识,并根据所述区域标识获取所述基准图片中的忽略区域;
18.将所述页面元素图片与所述基准图片中除所述忽略区域以外的其它区域进行对比,确认所述页面元素图片是否与所述基准图片一致。
19.在一个实施例中,所述将所述页面元素图片与所述基准图片中除所述忽略区域以外的其它区域进行对比,确认所述页面元素图片是否与所述基准图片一致,具体包括:
20.获取所述基准图片中除所述忽略区域以外的其它区域的基准像素信息;
21.将所述页面元素图片中对应区域的待测像素信息与所述基准像素信息进行对比,确认所述待测像素信息是否与所述基准像素信息一致。
22.在一个实施例中,所述根据图片对比结果输出相应的断言测试结果,包括:
23.当所述待测像素信息与所述基准像素信息一致时,则断言测试通过;
24.当所述待测像素信息与所述基准像素信息不一致时,则断言测试不通过,并输出具有差异标记的测试结果。
25.在一个实施例中,所述输出具有差异标记的测试结果,具体包括:
26.根据所述待测像素信息与所述基准像素信息之间的偏差计算像素不一致的差异区域的位置;
27.根据所述差异区域的位置在所述页面元素图片中绘制相应的差异标记,输出具有差异标记的页面元素图片作为测试结果。
28.一种视觉断言测试装置,包括:
29.裁剪模块,用于获取待测试页面,对所述待测试页面进行裁剪,得到页面元素图片;
30.获取模块,用于从预设数据库中获取与所述页面元素图片对应的基准图片;
31.视觉对比模块,用于根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致;
32.输出模块,用于根据图片对比结果输出相应的断言测试结果。
33.一种视觉断言测试系统,所述系统包括至少一个处理器;以及,
34.与所述至少一个处理器通信连接的存储器;其中,
35.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述视觉断言测试方法。
36.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的视觉断言测试方法。
37.有益效果:本发明公开了一种视觉断言测试方法、装置、系统及介质,相比于现有技术,本发明实施例通过基于机器视觉的图片对比进行整体的页面断言测试,实现了快速的页面测试且保证了测试覆盖率,有效提高了页面断言测试的效率和可靠性。
附图说明
38.下面将结合附图及实施例对本发明作进一步说明,附图中:
39.图1为本发明实施例提供的视觉断言测试方法的一个流程图;
40.图2为本发明实施例提供的视觉断言测试装置的功能模块示意图;
41.图3为本发明实施例提供的视觉断言测试系统的硬件结构示意图。
具体实施方式
42.为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
43.请参阅图1,图1为本发明提供的视觉断言测试方法一个实施例的流程图。本实施例提供的视觉断言测试方法适用于页面进行视觉断言测试的情况,具体应用于包括终端设备、网络和服务器构成的测试系统,其中网络为用于在终端设备和服务器直接提供通信链路的介质,其可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等;终端设备上的操作系统可以包括手持设备操作系统(iphone operating system,ios系统)、安卓系统或其他操作系统,终端设备通过网络连接到服务器以实现交互,从而进行接收或发送数据等操作,具体可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式服务器等等。如图1所示,该方法具体包括如下步骤:
44.s100、获取待测试页面,对所述待测试页面进行裁剪,得到页面元素图片。
45.本实施例中,在对被测试系统中的页面进行自动化测试时,可通过对被测试系统自动截屏的方式来获取当前的待测试页面,并且基于待测试页面中个各页面元素的位置与大小,对该待测试页面进行裁剪,进而得到需进行测试的页面元素的图片,具体的裁剪操作可以根据用户输出的裁剪指令进行,例如响应于用户输出的裁剪操作获取页面元素的位置与大小,实现准确且具有针对性的页面元素图片的获取;或者也可以对该待测试页面进行自动识别与裁剪,即通过例如预先训练完成的识别模型等方式对待测试页面中包含的页面元素进行识别与标注,并根据识别得到的元素位置与大小进行自动裁剪,实现更加高效便捷的页面元素图片的获取。
46.s200、从预设数据库中获取与所述页面元素图片对应的基准图片。
47.本实施例中,预先在预设数据库中存储了各页面元素图片的基准图片作为对比模板,在执行视觉断言时,直接从预设数据库中获取与当前需进行断言测试的页面元素图片对应的基准图片,即可为后续实现整体页面的高效视觉断言测试提供准确的基准数据,提高页面断言测试的效率和覆盖率。
48.在一个实施例中,步骤s200之前,方法还包括:
49.确认所述预设数据库中是否存在与所述页面元素图片对应的基准图片;
50.若存在,则获取与所述页面元素图片对应的基准图片,若不存在,则将所述页面元素图片作为新增基准图片存储至所述预设数据库中。
51.本实施例中,在从预设数据库中调取并下载相应的基准图片前,需先确认当前预设数据库中是否存在该基准图片,由于自动化测试的一个主要目的是为了保证回归测试,即在一个迭代前后,相同的输入应该得到相同的输出,若当前待测试页面是首次执行视觉断言测试,即在迭代初始时,在预设数据库中尚未存储其中的页面元素图片以进行迭代断言测试,亦或者,在迭代后该待测试页面有更新,则预设数据库中可能也没有存储更新后的页面元素图片作为基准图片,因此,为确保视觉断言测试的准确性,在获取与页面元素图片对应的基准图片前系统先判断是否存在基准图片,若存在则直接获取,若不存在则将当前的页面元素图片保存为新增基准图片以便后续迭代时的准确调用,提高视觉断言测试的可
靠性。
52.在一个实施例中,将所述页面元素图片作为新增基准图片存储至所述预设数据库之后,所述方法还包括:
53.根据接收到的区域划分指令划分所述新增基准图片中的忽略区域,为所述忽略区域增加相应的区域标识,所述忽略区域为不需要进行对比的区域。
54.本实施例中,在每次保存新增基准图片时,为进一步提高后续的视觉断言测试效率,用户可对保存至预设数据库中的新增基准图片进行区域划分,具体可划分出新增基准图片中的忽略区域,该忽略区域为后续测试中不需要进行对比的区域,在保存新增基准图片的同时也保存该忽略区域的位置与大小,并且,为该忽略区域增加相应的区域标识以便在后续视觉断言测试时能减少相应的处理区域,提高测试效率。相应地,除去忽略区域以外的其它区域即为需要进行对比的区域,在其它实施例中用户也可以对需要进行对比的区域进行标注,后续视觉断言测试时则仅针对已标注的区域进行对比,同样能实现减少处理数据量提高测试效率的目的。
55.可以理解的是,在每次具有新增基准图片时均进行了区域划分以及增加相应的区域标识,因此预设数据库中存储的所有图片均具有区域标识,也就是说,后续每次迭代时获取到的与页面元素图片对应的基准图片上,用于具有该区域标识以进行精准的图片对比。
56.s300、根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致。
57.本实施例中,根据基准图片中预先标注的区域标识,将基准图片中的部分区域与页面元素图片中的相应区域进行精准的区域对比,通过机器视觉的方式准确对比判断页面元素图片是否与基准图片一致,而不用关心页面元素的内在属性,通过一步对比即可实现对页面的整体断言,缩减了自动化测试脚本设计成本且保证了测试覆盖率。
58.在一个实施例中,步骤s300包括:
59.检测所述基准图片中的区域标识,并根据所述区域标识获取所述基准图片中的忽略区域;
60.将所述页面元素图片与所述基准图片中除所述忽略区域以外的其它区域进行对比,确认所述页面元素图片是否与所述基准图片一致。
61.本实施例中,区域标识为忽略区域的位置标识,因此先检测基准图片中的区域标识,根据该区域标识的位置和大小定位得到基准图片中的忽略区域,即不参与后续图片对比的区域,可以直接去除忽略区域内的像素数据,或者后续在对比时控制忽略区域内的像素数据不进行对比等等,将页面元素图片中与基准图片中的其它区域进行对比,即与基准图片中出忽略区域以外的区域进行对比,确认在迭代时待测试页面中的页面元素是否与初始保存的基准图片保持一致,通过机器视觉的方式高效实现页面断言测试。
62.具体地,在进行区域对比时,方法包括:
63.获取所述基准图片中除所述忽略区域以外的其它区域的基准像素信息;
64.将所述页面元素图片中对应区域的待测像素信息与所述基准像素信息进行对比,确认所述待测像素信息是否与所述基准像素信息一致。
65.本实施例中,通过对基准图片和页面元素图片中需要进行对比的区域直接进行直观的像素信息之间的对比,对比二者之间除忽略像素以外的其它区域的像素信息是否一
致,具体的像素信息可以包括像素的尺寸、颜色、亮度等等信息,从而实现准确且高覆盖率的页面断言测试。
66.s400、根据图片对比结果输出相应的断言测试结果。
67.本实施例中,在对待测试页面进行了基于机器视觉的整体断言后,即可根据图片对比结果输出直观的断言测试结果,具体来说,当所述待测像素信息与所述基准像素信息一致时,则断言测试通过,可输出相应的测试通过的提示信息;当所述待测像素信息与所述基准像素信息不一致时,则断言测试不通过,并输出具有差异标记的测试结果,即在视觉方式进行断言的基础上进一步输出视觉图片的测试结果,使得断言测试更加直观高效。
68.在一个实施例中,输出具有差异标记的测试结果,具体包括:
69.根据所述待测像素信息与所述基准像素信息之间的偏差计算像素不一致的差异区域的位置;
70.根据所述差异区域的位置在所述页面元素图片中绘制相应的差异标记,输出具有差异标记的页面元素图片作为测试结果。
71.本实施例中,当断言测试不通过,即页面元素图片中的待测图像信息与基准图片中的基准像素信息不一致时,则根据待测像素信息与基准像素信息之间的偏差来计算确认像素不一样的差异区域的位置,即找出页面元素图片与基准图片中除去忽略区域以外的差异区域,根据采集计算到的差异区域的位置,在页面元素图片中绘制相应的差异标记,例如方框标记等直观的图形标记,在输出断言测试不通过的结果时,则输出该具有差异标记的页面元素图片作为测试结果,使得测试人员能快速清晰地获知当前轮次迭代测试中哪个页面元素发生了变化,以便高效并精准地针对差异区域进行针对性的调试等,提高页面测试的效率和可靠性。
72.本发明另一实施例提供一种视觉断言测试装置,包括:
73.裁剪模块11,用于获取待测试页面,对所述待测试页面进行裁剪,得到页面元素图片;
74.获取模块12,用于从预设数据库中获取与所述页面元素图片对应的基准图片;
75.视觉对比模块13,用于根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致;
76.输出模块14,用于根据图片对比结果输出相应的断言测试结果。
77.裁剪模块11、获取模块12、视觉对比模块13和输出模块14依次连接,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述视觉断言测试的执行过程,各模块的具体实施方式请参考上述对应的方法实施例,此处不再赘述。
78.本发明另一实施例提供一种视觉断言测试系统,如图3所示,系统10包括:
79.一个或多个处理器110以及存储器120,图3中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图3中以通过总线连接为例。
80.处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn risc machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处
理器结合dsp和/或任何其它这种配置。
81.存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的视觉断言测试方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的视觉断言测试方法。
82.存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
83.一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的视觉断言测试方法,例如,执行以上描述的图1中的方法步骤s100至步骤s400。
84.本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s400。
85.作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明而非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
86.综上,本发明公开的一种视觉断言测试方法、装置、系统及介质中,方法通过获取待测试页面,对所述待测试页面进行裁剪,得到页面元素图片;从预设数据库中获取与所述页面元素图片对应的基准图片;根据所述基准图片中的区域标识,将所述页面元素图片与所述基准图片进行区域对比,确认所述页面元素图片是否与所述基准图片一致;根据图片对比结果输出相应的断言测试结果。通过基于机器视觉的图片对比进行整体的页面断言测试,实现了快速的页面测试且保证了测试覆盖率,有效提高了页面断言测试的效率和可靠性。
87.当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的计算机程序可存储于一非易失性计算机可读取的存储介质中,该计算机程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、软盘、闪存、光存储器等。
88.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1