CN111581091B - 页面测试方法、装置、可读介质及电子设备 - Google Patents
页面测试方法、装置、可读介质及电子设备 Download PDFInfo
- Publication number
- CN111581091B CN111581091B CN202010367844.5A CN202010367844A CN111581091B CN 111581091 B CN111581091 B CN 111581091B CN 202010367844 A CN202010367844 A CN 202010367844A CN 111581091 B CN111581091 B CN 111581091B
- Authority
- CN
- China
- Prior art keywords
- page
- image
- control
- target reference
- reference control
- 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及一种页面测试方法、装置、可读介质及电子设备。该方法包括:获取待测页面的图像;从多个基准页面中确定与待测页面相匹配的目标基准页面;根据数据库中存储的目标基准页面的多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域,其中,数据库中还存储有至少一个目标基准控件的验证角度,验证角度用于表征目标基准控件相对于其他基准控件的角度,目标基准控件为所述多个基准控件之一;在确定出每一基准控件各自对应的图像区域的情况下,根据目标基准控件的验证角度,确定待测页面的控件布局的测试结果。通过上述技术方案,保证对页面测试的全面性,提高页面测试的效率和准确度。
Description
技术领域
本公开涉及网络技术领域,具体地,涉及一种页面测试方法、装置、可读介质及电子设备。
背景技术
应用程序或网站在发布之前,需要进行测试工作,以测试其中的页面能否正常渲染。并且,还需要测试页面在不同分辨率的终端设备上的渲染效果,以保证使用不同分辨率的终端设备的用户均可以正常浏览页面。
其中,页面中包含大量的控件,如按钮控件、树形控件、工具栏等。目前,根据相关技术中的测试方法,仅能测试页面中的控件是否存在,并不能对控件布局的合理性进行测试,而控件布局的合理性直接影响页面的展示效果。并且,对于不同型号的终端设备,屏幕尺寸和屏幕分辨率一般不同,因此设备所渲染的页面的大小以及其中控件的大小均有较大差异,而相关技术中的测试方法不能适用于所有分辨率的设备,对不同分辨率的设备所渲染出的页面进行测试时,准确度不高。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种页面测试方法,所述方法包括:获取待测页面的图像;从多个基准页面中确定与所述待测页面相匹配的目标基准页面;根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
第二方面,本公开提供一种页面测试装置,所述装置包括:获取模块,被配置成用于获取待测页面的图像;目标基准页面确定模块,被配置成用于从多个基准页面中确定与所述待测页面相匹配的目标基准页面;图像区域确定模块,被配置成用于根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;测试结果确定模块,被配置成用于在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面提供的所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面提供的所述方法的步骤。
通过上述技术方案,从多个基准页面中确定与待测页面相匹配的目标基准页面,该待测页面与目标基准页面对应的为同一页面。数据库中预先存储有目标基准页面中多个基准控件的图像,根据多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域,通过能否确定出每一基准控件各自对应的图像区域,可以判断待测页面中的控件是否完整。并且,由于页面中两个控件之间的距离在不同分辨率的设备上可能会有较大差别,而不论在哪种分辨率的设备上进行渲染,它们之间的角度差异都在一定范围内。因此,根据数据库中预先存储的至少一个目标基准控件的验证角度,把验证角度作为参照,对待测页面的控件布局进行测试。这样,对于不同分辨率的设备所渲染出的页面,均可以进行准确测试。如此,不仅可以确定出待测页面中的控件是否完整,还可以测试控件布局是否合理并符合预期,保证对页面测试的全面性,而且可以适用于所有分辨率的设备所展示的页面,避免由于屏幕分辨率的差异而导致的测试不准确的问题,提高页面测试的效率和准确度。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的一种获取页面中基准控件的图像的方法的流程图。
图2是根据一示例性实施例示出的一种从页面的控件中确定出符合预设条件的控件的方法的流程图。
图3是根据另一示例性实施例示出的一种获取页面中基准控件的图像的方法的流程图。
图4a是根据一示例性实施例示出的一种页面的示意图。
图4b示出了图4a所示的页面在不同分辨率的设备上进行展示的示意图。
图5是根据另一示例性实施例示出的一种页面的示意图。
图6是根据一示例性实施例示出的一种页面测试方法的流程图。
图7是根据一示例性实施例示出的一种待测页面的示意图。
图8是根据一示例性实施例示出的一种根据目标基准控件的验证角度确定待测页面的控件布局的测试结果的方法的流程图。
图9是根据另一示例性实施例示出的一种根据目标基准控件的验证角度确定待测页面的控件布局的测试结果的方法的流程图。
图10是根据一示例性实施例示出的一种从待测页面的图像中确定与每一基准控件对应的图像区域的方法的流程图。
图11是根据一示例性实施例示出的一种页面测试装置的框图。
图12示出了一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
首先对本公开的应用场景进行介绍,本公开可以应用于页面测试的过程中,该页面可以指的是终端设备展示的应用程序的页面、网站的页面等。
应用程序或网站在发布之前,需要进行大量的测试工作,以测试其中的页面能否正常渲染,以及在不同分辨率的终端设备上的渲染效果。相关技术中,在对页面进行测试时,通常将待测页面的图像与对应的正常页面的图像进行匹配,这种通过页面图像进行匹配的方式存在一些问题。例如,页面是由控件构成的,通过页面图像匹配的方式,可以测试出待测页面中是否存在某个控件,但无法测试出控件布局是否符合预期,而控件布局是否合理直接影响页面的展示效果。并且,对于不同型号的终端设备,屏幕尺寸和屏幕分辨率一般不同,设备所展示的页面的大小以及其中控件的大小均有较大差异。例如,屏幕尺寸较大、分辨率较高的设备所展示的页面的图像尺寸相对较大,各个控件的面积也相对较大,如果直接通过页面图像匹配的方式进行测试,很可能认为匹配失败,从而得出待测页面未通过测试的结果。但是这种情况下,仅仅是由于屏幕分辨率的影响,并不是待测页面本身存在问题。如此,导致页面测试的准确性不高,不能适用于所有分辨率的设备所展示的页面。
鉴于此,本公开提供一种页面测试方法、装置、可读介质和电子设备,以解决相关技术中存在的问题,不仅能测试出待测页面的控件布局是否合理,而且能避免由于屏幕分辨率的差异而导致的测试不准确的问题,对于不同分辨率的设备所渲染出的页面,均能够进行准确测试。
本公开中,在进行页面测试时,除了对比整个待测页面的图像与对应的正常页面的图像是否匹配外,还通过更细粒度的页面中控件的图像进行匹配,以对待测页面进行测试。下面介绍本公开中获取页面中基准控件的图像的过程。基准控件为对待测页面进行测试时作为参照的控件。
图1所示,是根据一种实施方式示出的获取页面中基准控件的图像的方法的流程图,该获取方法可包括S101和S102。
在S101中,从页面的控件中确定出符合预设条件的控件,作为基准控件。
其中,预设条件可以预先设置,例如可根据页面中控件的层次结构、控件的面积等条件来进行设置,以筛选出符合预设条件的控件。在该步骤中,可将确定出的符合预设条件的控件,直接作为基准控件。
在S102中,根据基准控件在页面的图像的位置,获取基准控件的图像。
页面的图像即对整个页面进行截图操作得到图像,对整个页面进行截图操作这一步骤可以在确定出基准控件之前进行,也可在确定出基准控件之后进行,本公开不做具体限定。
基准控件在页面的图像的位置,例如可以是基准控件的各个顶点在页面的图像中的坐标,根据该位置进行截图操作,便可从页面的图像中截取出基准控件的图像。
通过上述技术方案,根据预先设置的预设条件,可以从页面的控件中自动筛选出符合该预设条件的控件作为基准控件,并自动从页面的图像中截取出基准控件的图像。如此,可以对基准控件进行自动化筛选,并对基准控件的图像进行自动截取,不需要技术人员人工进行截图,避免人工截图带来的费时费力的问题,降低人工成本,提高截图效率。
图2是根据一示例性实施例示出的一种从页面的控件中确定出符合预设条件的控件的方法的流程图,如图2所示,该确定方法可包括S201~S205。
在S201中,获取页面的控件树。
其中,控件树中可包括该页面中具有的所有控件。获取控件树的方式可参照本领域相关技术。
在S202中,遍历控件树中的每一控件。
例如根据控件在页面中的位置从上到下进行遍历,或从左到右进行遍历,等等,本公开对具体的遍历方式不做限制。
在S203中,判断该控件是否为父控件、该控件的子控件不再具有子控件。若是,执行S204;若否,则不将该控件确定为符合预设条件的控件,并继续遍历下一控件。
一般情况下,复杂的页面结构都涉及到控件之间的嵌套。如果该控件为父控件,且该控件的子控件具有子控件,则该控件中嵌套的有其它控件,为了对页面做更细粒度的划分,可不将该控件确定为符合预设条件的控件,并继续遍历下一控件。
如果该控件为父控件,且该控件的子控件不具有子控件,根据控件树的层次结构,该控件在控件树的倒数第二层,能够涵盖页面中大多数的控件。
在S204中,判断该控件的控件面积是否处于预设范围内。若是,执行S205;若否,则不将该控件确定为符合预设条件的控件,并继续遍历下一控件。
如果该控件的控件面积太小,例如有的控件为一个小的图标,在后续测试过程中进行图像匹配时,不容易进行匹配,匹配结果的精确度不高。或者,如果该控件的控件面积太大,同样无法达到对页面进行更细粒度划分的目的。因此,根据控件面积进行筛选,得到控件面积符合预设范围的控件。
其中,预设范围可以根据页面的尺寸来确定,例如将整个页面面积的3%~40%作为该预设范围。
在S205中,将该控件确定为符合预设条件的控件。
如果该控件为父控件、该控件的子控件不再具有子控件,并且该控件的控件面积处于预设范围内,可将该控件确定为符合预设条件的控件。
值得说明的是,对于S203和S204的执行顺序,本公开不做具体限制。例如也可先执行S204,若S204的判断结果为是,再执行S203,或二者同时执行,当S203和S204的判断结果均为是,再执行S205,当二者中有一者判断结果为否,则不将该控件确定为符合预设条件的控件,并继续遍历下一控件。
图3所示,是根据另一种实施方式示出的获取页面中基准控件的图像的方法的流程图,该获取方法可包括S301~S304。
在S301中,从页面的控件中确定出符合预设条件的控件,作为候选控件。
从页面的控件中确定出符合预设条件的控件的实施方式可如图2所示。在该步骤中,可将确定出的符合预设条件的控件,先作为候选控件,再根据这些候选控件的图像确定基准控件的图像。
在S302中,根据候选控件在页面的图像的位置,获取候选控件的图像。
候选控件在页面的图像的位置,例如可以是候选控件的各个顶点在页面的图像中的坐标,根据该位置进行截图操作,便可从页面的图像中截取出候选控件的图像。
在S303中,针对每一候选控件的图像,确定该候选控件的图像与页面的图像的置信度。
该步骤中,可通过相关技术中任一种图像匹配方式,将候选控件的图像与页面的图像进行匹配,例如通过OpenCV(Open Source Computer Vision Library,跨平台计算机视觉库)进行图像匹配,得到候选控件的图像与页面的图像的置信度,该置信度可反映候选控件的图像与页面的图像的匹配程度,例如可通过百分数的形式来表示。
在S304中,在该置信度大于预设的置信度阈值的情况下,将该候选控件的图像确定为基准控件的图像。
预设的置信度阈值可以预先设置。如果该置信度大于预设的置信度阈值,可表征候选控件的图像与页面的图像的匹配程度较高,可将该候选控件的图像确定为基准控件的图像。
反之,如果该置信度不大于置信度阈值,可表征候选控件的图像与页面的图像的匹配程度较低。示例地,对于其中白色区域较多或黑色区域较多的控件,或者在页面中出现次数较多的控件,这些控件在进行匹配时,与页面的图像的匹配程度就不会太高。这种匹配程度不高的候选控件,在后续页面测试过程中,也不容易进行匹配,从而影响测试结果的准确度,因此可以不作为基准控件的图像。
其中,可通过上述两种实施方式中的任一种获取到基准控件的图像,这些基准控件的图像可存储在数据库中,作为后续页面测试时的参照,以对待测页面进行测试。
本公开中,获取基准控件的图像的方法还可包括:
将页面的图像的分辨率调整为预设分辨率,并确定调整比例;
在得到基准控件的图像之后,将基准控件的图像的分辨率按照该调整比例进行调整。
本公开对获取页面的图像这一步骤的执行顺序并不做具体限定,只要在从页面的图像中截取控件的图像之前执行即可。在获取到页面的图像后,可将该页面的图像的分辨率调整为预设分辨率,该预设分辨率可预先设置,并确定调整比例,该调整比例可以是预设分辨率与页面的图像的分辨率的比值。
之后,在通过如上两种实施方式中的任一种得到基准控件的图像之后,可对基准控件的图像也进行分辨率的调整,即按照对页面的图像进行分辨率调整的调整比例,对基准控件的图像做等比例调整,以使得基准控件的图像与页面的图像的分辨率相对应。
进行分辨率调整的目的,一方面是为了避免测试过程中,不同分辨率的图像在匹配时,匹配精确度不高的问题。另一方面,例如可将该预设分辨率设置为相对较低的分辨率,控制图像的大小,这样,数据库在存储这些图像时,可以节约存储空间,有效减少存储空间的占用。
通过上述方案,便得到了页面的图像以及该页面中基准控件的图像。值得说明的是,本公开中获取基准控件的图像的方式,不需要技术人员人工进行截图,能够从页面的控件中自动筛选出符合预设条件的控件,并且,自动从页面的图像中截取出基准控件的图像,避免人工截图这一繁琐的过程。特别是页面数量较多,或者页面中控件数量较多的情况下,能够有效降低人工成本,提高截图效率。
发明人通过大量研究发现,在不同分辨率的设备上渲染同一页面时,屏幕尺寸较大、分辨率较高的设备所展示的页面中,各控件的面积相对较大,控件排列更为稀疏。发明人发现,页面中两个控件之间的距离在不同分辨率的设备上可能会有较大差别,而不论在哪种分辨率的设备上进行渲染,它们之间的角度都是差不多的,角度的差异在一定范围以内。
结合图4a和图4b阐述这一现象,如图4a和图4b所示,分别示出了同一页面在不同分辨率的设备上进行展示的示意图。该页面中具有基准控件401和基准控件402。对比图4a和图4b可看出,由于屏幕分辨率的影响,图4a中基准控件401和基准控件402之间的距离明显大于图4b中基准控件401和基准控件402之间的距离。
而图4a中基准控件401相对于基准控件402的角度α与图4b中基准控件401相对于基准控件402的角度β基本相同。其中,在本公开中,在一种实施方式中,一基准控件相对于另一基准控件的角度可以为这两个基准控件的中心点连线与水平线的夹角。上述角度α和角度β以该实施方式为例进行说明,但并不构成对本公开实施方式的限制。在另一种实施方式中,一基准控件相对于另一基准控件的角度也可以为这两个基准控件的中心点连线与目标方向的角度。目标方向可以是任意方向,例如水平方向、竖直方向等等,本公开不做具体限制。
基于此,本公开中通过角度匹配的方式对待测页面的控件布局进行测试。下面介绍计算基准控件之间的角度的过程。
图5是根据另一示例性实施例示出的一种页面的示意图。如图5所示,示例地,在终端正常使用的情况下,即终端未处于倾斜状态的情况下,以页面左下角为原点,水平方向为x轴,竖直方向为y轴为例,可通过如下公式(1)计算一基准控件相对于另一基准控件的角度:
其中,θ表示一基准控件相对于另一基准控件的角度,x1表示其中一基准控件的中心点所在位置在x轴的分量,y1表示该基准控件的中心点所在位置在y轴的分量,x2表示另一基准控件的中心点所在位置在x轴的分量,y2表示该另一基准控件的中心点所在位置在y轴的分量。
图5所示的页面中具有基准控件501、基准控件502、基准控件503以及基准控件504。其中,以一基准控件相对于另一基准控件的角度为这两个基准控件的中心点连线与水平线的夹角为例,基准控件501相对于基准控件502的角度为γ,基准控件501相对于基准控件503的角度为λ,基准控件501相对于基准控件504的角度为ω。
值得说明的是,图5中页面的表现形式仅为示例性解释说明,不构成对本公开实施方式的限制。在实际应用中,页面的表现形式、页面中控件的数量以及控件的位置并不局限于此。
示例地,例如页面中共有N个基准控件,每一基准控件均对应N-1个角度,即该基准控件分别相对于其他N-1个基准控件的角度。这样,不仅数据库在存储时,占用较多的存储空间,并且在后续测试过程中进行角度匹配时,可能会由于需要匹配的角度较多而影响测试效率。
本公开中,数据库中还存储有至少一个目标基准控件的验证角度,验证角度可用于表征目标基准控件相对于其他基准控件的角度,目标基准控件为多个基准控件之一。
在一种实施方式中,数据库中可存储有其中一个目标基准控件的验证角度,该目标基准控件可以为任一基准控件。在该实施方式中,该目标基准控件的验证角度可包括该目标基准控件相对于除该目标基准控件外其他所有基准控件中每一者的角度。
示例地,以图5所示页面为例,例如将基准控件501作为目标基准控件,则该目标基准控件的验证角度可包括基准控件501相对于基准控件502的角度γ、相对于基准控件503的角度λ以及相对于基准控件504的角度ω。
另外,考虑到距离越近的控件的相对位置,受屏幕分辨率的影响越小,因此,可选地,在本公开的另一种实施方式中,数据库中可存储有多个目标基准控件的验证角度,对于每一目标基准控件对应的验证角度,可包括该目标基准控件相对于与该目标基准控件距离最近的两个其他基准控件中的每一者的角度。这样,数据库在存储时,每一目标基准控件均对应两个角度,可以节约数据库存储空间。并且,在测试过程中,对于每一目标基准控件仅需匹配这两个角度即可,可以提高测试效率。
示例地,可通过如下公式(2)计算一基准控件与另一基准控件的距离:
其中,d表示一基准控件与另一基准控件的距离。
通过计算目标基准控件与其他每一基准控件之间的距离,可找出与该目标基准控件距离最近的两个其他基准控件。例如,图5中与基准控件501距离最近的两个基准控件可以是基准控件502和基准控件503。
上述详细介绍了获取页面的图像、获取页面中基准控件的图像、以及计算基准控件之间角度的示例性实施方式。对于应用程序或网站中的每一页面,均可通过上述这些方式得到对应的图像和角度信息,并存储在数据库中,以用于对待测页面进行测试。
可知的是,若要对待测页面通过匹配的方式进行测试,首先要有匹配的基准,本公开中,从中获取基准控件的图像的页面,可作为基准页面,该基准页面应该是渲染正常的页面,可作为匹配的基准,可以用于对待测页面进行测试的参照。
下面介绍本公开中的页面测试方法。图6是根据一示例性实施例示出的一种页面测试方法的流程图。如图6所示,该测试方法可包括S601~S604。
在S601中,获取待测页面的图像。
待测页面即需要进行测试的页面,可以为应用程序或网站中的任一页面。对整个待测页面进行截图可获取到待测页面的图像。
在S602中,从多个基准页面中确定与待测页面相匹配的目标基准页面。
待测页面与目标基准页面相匹配,也即是待测页面与目标基准页面对应的为同一页面。示例地,可通过页面的标识信息确定该目标基准页面,从多个基准页面中找到与待测页面的标识信息相同的基准页面,该基准页面即为与待测页面相匹配的目标基准页面。其中,页面的标识信息用于唯一标识一页面,例如可以为页面的名称、页面ID等。
需要说明的是,对于S601和S602的执行顺序,本公开不做具体限定,图6仅为示例性说明,例如S602也可在S601之前执行,或二者同时执行。
在S603中,根据数据库中存储的目标基准页面的多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域。
其中,数据库中存储有目标基准页面中的多个基准控件的图像,这些图像可以是根据本公开上述介绍的获取页面中基准控件的图像的实施方式获取到的。数据库中还存储有至少一个目标基准控件的验证角度,验证角度可用于表征该目标基准控件相对于其他基准控件的角度,目标基准控件为多个基准控件之一。一基准控件相对于另一基准控件的角度及其计算方式已在上文详细阐述,例如可通过上述公式(1)计算该角度。
图7是根据一示例性实施例示出的一种待测页面的示意图,例如图5所示的基准页面为与图7所示的待测页面相匹配的目标基准页面。示例地,数据库中可存储有图5所示的基准页面中基准控件501~504的图像,以及至少一个目标基准控件的验证角度。其中,存储至少一个目标基准控件的验证角度的两种实施方式已在上文详细说明。
示例地,例如可将基准控件的图像与待测页面的图像中任一图像区域进行比对,当与某一图像区域的比对结果表征基准控件的图像与该图像区域的相似度较高,例如高于一预设值,可确定该图像区域即为与该基准控件对应的图像区域。
如图7所示,例如确定出图像区域701对应于基准控件501,图像区域702对应于基准控件502,图像区域703对应于基准控件503,图像区域704对应于基准控件504。
在S604中,在确定出每一基准控件各自对应的图像区域的情况下,根据目标基准控件的验证角度,确定待测页面的控件布局的测试结果。
如果能够从待测页面的图像中确定出每一基准控件各自对应的图像区域,可表明待测页面中至少存在这些控件。本公开中,还可以对待测页面的控件布局进行测试。
其中,在可以从待测页面的图像中确定出每一基准控件各自对应的图像区域的情况下,也同时能够确定出各图像区域在待测页面的图像中的位置信息。示例地,该位置信息可以是图像区域的中心点的坐标。
根据上述公式(1)可计算一图像区域相对于另一图像区域的实际角度,通过与数据库中存储的对应的目标基准控件的验证角度进行匹配,可对每一图像区域的位置进行验证,验证该图像区域相对于其他图像区域的角度是否符合预期,从而可以对待测页面的控件布局进行测试。
另外,如果没有从待测页面的图像中确定出某一基准控件对应的图像区域,可认为待测页面中没有这一控件,即待测页面出现了控件缺失的问题。这种情况下待测页面的控件布局的测试结果可以为未通过。
通过上述技术方案,从多个基准页面中确定与待测页面相匹配的目标基准页面,该待测页面与目标基准页面对应的为同一页面。数据库中预先存储有目标基准页面中多个基准控件的图像,根据多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域,通过能否确定出每一基准控件各自对应的图像区域,可以判断待测页面中的控件是否完整。并且,由于页面中两个控件之间的距离在不同分辨率的设备上可能会有较大差别,而不论在哪种分辨率的设备上进行渲染,它们之间的角度差异都在一定范围内。因此,根据数据库中预先存储的至少一个目标基准控件的验证角度,把验证角度作为参照,对待测页面的控件布局进行测试。这样,对于不同分辨率的设备所渲染出的页面,均可以进行准确测试。如此,不仅可以确定出待测页面中的控件是否完整,还可以测试控件布局是否合理并符合预期,保证对页面测试的全面性,而且可以适用于所有分辨率的设备所展示的页面,避免由于屏幕分辨率的差异而导致的测试不准确的问题,提高页面测试的效率和准确度。
其中,S604中根据目标基准控件的验证角度确定待测页面的控件布局的测试结果的示例性实施方式可如图8所示,包括S801~S806。
在S801中,确定目标基准控件对应的图像区域与其他基准控件各自对应的图像区域之间的实际角度。
在S802中,判断实际角度和验证角度是否匹配。在不匹配的情况下,执行S803;在匹配的情况下,执行S805。
在S803中,确定目标基准控件对应的图像区域在待测页面的水平方向上的实际位置信息。
如图7所示,示例地,在终端正常使用的情况下,即终端未处于倾斜状态的情况下,以待测页面左下角为原点,以横轴x轴为待测页面的水平方向,以纵轴y轴为待测页面的竖直方向。图像区域在待测页面的水平方向上的实际位置信息可以为该图像区域的中心点在x轴的分量。
在S804中,判断实际位置信息与验证位置信息是否匹配。在匹配的情况下,执行S805;在不匹配的情况下,执行S806。
其中,数据库中还可存储有目标基准控件的验证位置信息,该验证位置信息可以为目标基准控件在目标基准页面的水平方向上的位置信息。示例地,如图5所示的目标基准页面,可以横轴x轴为目标基准页面的水平方向。目标基准控件在目标基准页面的水平方向上的位置信息,可以为该目标基准控件的中心点在x轴的分量。验证位置信息可在获取基准控件的图像的过程中确定出,并预先存储在数据库中。
在S805中,确定待测页面的控件布局的测试结果为通过测试。
在S806中,确定待测页面的控件布局的测试结果为未通过测试。
如上所述,数据库在存储至少一个目标基准控件的验证角度时,可有两种实施方式,在进行角度匹配确定测试结果时,也可对应两种实施方式。
第一种,数据库中存储有其中一个目标基准控件的验证角度,该验证角度可包括该目标基准控件相对于除该目标基准控件外其他所有基准控件中每一者的角度。在进行角度匹配时,如果目标基准控件对应的图像区域相对于除该目标基准控件外其他所有基准控件各自对应的图像区域之间的实际角度、和预先存储的验证角度中对应角度均相匹配,便可认为目标基准控件对应的图像区域与其他基准控件各自对应的图像区域之间的实际角度、和验证角度匹配。
示例地,以基准控件501作为目标基准控件,验证角度中其他基准控件为基准控件502~504。该目标基准控件对应图像区域701,基准控件502~504各自对应的图像区域分别为图像区域702~704。在该实施方式中,可确定图像区域701相对于图像区域702的实际角度与基准控件501相对于基准控件502的角度γ是否匹配、图像区域701相对于图像区域703的实际角度与基准控件501相对于基准控件503的角度λ是否匹配、图像区域701相对于图像区域704的实际角度与基准控件501相对于基准控件504的角度ω是否匹配。如果均匹配,便可认为目标基准控件对应的图像区域与其他基准控件各自对应的图像区域之间的实际角度、和验证角度匹配。
其中,由于屏幕分辨率的影响,目标基准控件对应的图像区域相对于验证角度中的其他基准控件各自对应的图像区域之间的实际角度,与预先存储的目标基准控件的验证角度可能并非一定相同,如果测试页面展示正常,实际角度与验证角度的角度差值应该在一定范围内。因此,角度匹配可以是两个角度差值较小,即角度差值在预设的角度范围以内,该角度范围例如可以为[-3,3]。
如果实际角度和预先存储的验证角度不匹配,可进一步通过目标基准控件对应的图像区域在待测页面的水平方向上的实际位置信息来判断。
其中,以页面的水平方向为横轴x轴,以页面的竖直方向为纵轴y轴为例。
发明人通过大量研究发现,屏幕分辨率不同,所展示的页面主要是竖直方向上的差异。示例地,如图4a和图4b所示,图4a中基准控件401的中心点位置在y轴上的分量、与图4b中基准控件401的中心点位置在y轴上的分量差别较大,而二者的中心点位置在x轴的分量却大致相同。因此在角度不匹配的情况下,可以通过图像区域在待测页面的水平方向上的实际位置信息进一步进行判断。
数据库中还可存储有目标基准控件的验证位置信息,该验证位置信息可以为目标基准控件在目标基准页面的水平方向上的位置信息。如果确定目标基准控件对应的图像区域在待测页面的水平方向上的实际位置信息与预先存储的验证位置信息相匹配,即实际位置信息和验证位置信息的差值在一预设的差值范围内,可认为是由于屏幕分辨率的影响,控件的上下排列出现差异,并不是目标基准控件对应的图像区域的位置出现问题。因此,可确定待测页面的控件布局的测试结果为通过测试。如果实际位置信息和验证位置信息也不匹配,则是由于控件的布局出现了问题,可确定待测页面的控件布局的测试结果为未通过测试。
当然,上述x轴和y轴的方向仅为示例,并不构成对本公开的限制。在另一实施例中,例如也可将页面的水平方向作为y轴,竖直方向作为x轴.。在该实施例中,图像区域在待测页面的水平方向上的实际位置信息可以为该图像区域的中心点在y轴的分量,预先存储的验证位置信息可以为目标基准控件的中心点在y轴的分量。通过对比在y轴上的位置信息,以比较实际位置信息与验证位置信息是否匹配。
第二种,数据库中可存储有多个目标基准控件的验证角度,对于每一目标基准控件对应的验证角度,可包括该目标基准控件相对于与该目标基准控件距离最近的两个其他基准控件中的每一者的角度。
在该实施方式中,通过角度匹配的方式确定测试结果的示例性实施方式可如图9所示,包括S901~S908。
在S901中,遍历确定出的图像区域。
其中,当前遍历到的图像区域可作为目标图像区域,该目标图像区域即为其中一个目标基准控件对应的图像区域。
示例地,将当前遍历到的图像区域701作为目标图像区域,则图像区域701对应的基准控件501为目标基准控件。
在S902中,在除目标图像区域的其他图像区域中,确定目标图像区域的参考图像区域。其中,参考图像区域对应的基准控件作为参考基准控件。
该步骤中可将与目标图像区域距离最近的两个图像区域作为参考图像区域。其中,可根据上述公式(2)计算一图像区域与另一图像区域的距离。在计算目标图像区域与其他每一图像区域之间的距离后,可找出与目标图像区域距离最近的两个图像区域。
示例地,与图像区域701最近的两个图像区域为图像区域702和图像区域703,则可将图像区域702和图像区域703作为参考图像区域,对应的基准控件502和基准控件503可作为参考基准控件。
在S903中,确定目标图像区域相对于参考图像区域的实际角度是否与目标基准控件相对于参考基准控件的角度匹配。在不匹配的情况下,执行S904;在匹配的情况下,执行S905。
其中,预先存储的目标基准控件的验证角度中可包括目标基准控件相对于参考基准控件的角度。示例地,如果图像区域701相对于图像区域702的实际角度η与基准控件501相对于基准控件502的角度γ相匹配,且图像区域701相对于图像区域703的实际角度ε与基准控件501相对于基准控件503的角度λ相匹配,可认为图像区域701的位置是合理的,其位置通过验证。
在S904中,确定目标图像区域在待测页面的水平方向上的实际位置信息与目标基准控件在目标基准页面的水平方向上的验证位置信息是否匹配。在匹配的情况下,执行S905。在不匹配的情况下,执行S907。
其中,实际位置信息、验证位置信息以及如何确定二者是否匹配已在上文详细说明。
在S905中,确定目标图像区域的位置通过验证。
在S906(803)中,在确定出的每一图像区域的位置均通过验证的情况下,确定待测页面的控件布局的测试结果为通过测试。
在S907中,确定目标图像区域的位置未通过验证。
在S908(804)中,确定待测页面的控件布局的测试结果为未通过测试。
如果每一图像区域的位置均通过验证,可表征每一图像区域的位置均是符合预期的,即待测页面中控件布局合理,可确定待测页面的控件布局的测试结果为通过测试。如果目标图像区域的位置未通过验证,至少表明该目标图像区域对应的控件所处的位置不合理,也即是待测页面的控件布局存在问题,可确定待测页面的控件布局的测试结果为未通过测试。在得到测试结果后,可向技术人员反馈该测试结果,以使技术人员及时知晓待测页面是否能够正常渲染。
在以上两种实施方式中,如果将其中一个基准控件作为目标基准控件,并存储该目标基准控件相对于除该目标基准控件外其他所有基准控件中每一者的角度,在对待测页面进行布局测试时,以该目标基准控件对应的图像区域为基准,通过判断该目标基准控件对应的图像区域与其他图像区域之间的实际角度、和预先存储的目标基准控件的验证角度是否匹配,从而判断待测页面中控件的布局是否合理。
如果将多个基准控件作为目标基准控件,为了降低数据存储量和提高测试效率,对于每一目标基准控件,可存储该目标基准控件相对于与该目标基准控件距离最近的两个基准控件中每一者的角度。这样,在测试过程中进行角度匹配时,对于每一目标基准控件对应的图像区域,仅需匹配两个对应的角度即可判断待测页面中控件的布局是否合理。
在一种实施方式中,一基准控件相对于另一基准控件的角度可以为这两个基准控件的中心点连线与目标方向的角度。在该实施方式中,直接通过角度匹配即可判断待测页面中控件的布局是否合理。
在另一种实施方式中,一基准控件相对于另一基准控件的角度可以为这两个基准控件的中心点连线与水平线的夹角。为了准确判断待测页面中控件的布局是否合理,还需进行图像区域之间相对位置的判断。
本公开中,数据库中还可预先存储有目标基准控件与其他基准控件的验证相对位置信息。该验证相对位置信息可以是目标基准控件与其他基准控件在目标基准页面中相对所处的方向。相应地,本公开提供的页面测试方法还可包括:
确定目标基准控件对应的图像区域与其他基准控件各自对应的图像区域的实际相对位置信息;在该实际相对位置信息和验证相对位置信息一致的情况下,再执行S801,即再确定图像区域之间的实际角度以进行角度匹配;在不一致的情况下,可执行S804,即确定待测页面的控件布局的测试结果为未通过测试。
其中,相对位置信息可以是相对所处的方向。示例地,图7所示图像区域701位于图像区域702的右上方,图像区域701位于图像区域703的左上方。图5所示基准控件501同样位于基准控件502的右上方,基准控件501同样位于基准控件503的左上方,可表征它们之间的相对位置信息是一致的。
例如,如果待测页面的图像中图像区域703位于图像区域701的左下方,和基准控件503与基准控件501的相对位置不同,可认为它们之间的相对位置信息不一致。
示例地,如果通过上述第一种实施方式进行角度匹配,在进行相对位置信息的判断时,可判断目标基准控件对应的图像区域与除该目标基准控件外其他所有基准控件各自对应的图像区域的实际相对位置信息、和目标基准控件与其他所有基准控件的验证相对位置信息是否均一致。如果均一致,便可认为实际相对位置信息和验证相对位置信息一致。
如果通过上述第二种实施方式进行角度匹配,在进行相对位置信息的判断时,针对每一目标基准控件对应的图像区域,可判断该目标基准控件对应的图像区域与参考图像区域的实际相对位置信息、和目标基准控件与参考基准控件的验证相对位置信息是否一致。如果针对每一目标基准控件对应的图像区域的判断结果均为一致,便可认为实际相对位置信息和验证相对位置信息一致。
如果实际相对位置信息和验证相对位置信息不一致,则无需进行更细粒度的角度的匹配,即可判断待测页面中控件的布局不合理。如果实际相对位置信息和验证相对位置一致,再进一步进行角度的匹配以得出测试结果。
同样由于屏幕分辨率的影响,待测页面中控件的面积与对应的基准控件的图像的面积可能不同,如果直接将预先截取的基准控件的图像与待测页面的图像进行匹配,可能会使得匹配的准确度降低。因此,在一可选实施方式中,如图10所示,上述S603可包括S1001~S1003。
在S1001中,针对每一基准控件的图像,将该基准控件的图像按照预设的多个倍数分别进行放缩,得到多个放缩后图像。
预设的多个倍数可预先设置,例如可以设置八个不同的倍数,分别为0.8、0.9、1.0、1.1、1.2、1.3、1.4和1.5。
在S1002中,针对每一放缩后图像,从待测页面的图像中确定与放缩后图像相匹配的图像区域,并得到该图像区域与放缩后图像的第一相似度。
将基准控件的图像按照不同倍数放缩之后,对于每一放缩后图像,将该放缩后图像与待测页面的图像进行匹配,从待测页面的图像中找出与该放缩后图像最相似的图像区域,即相匹配的图像区域,并得到对应的第一相似度。
在S1003中,在多个第一相似度中的最大值大于预设的第一相似度阈值的情况下,确定最大的第一相似度对应的图像区域为基准控件对应的图像区域。
第一相似度的最大值更能反映基准控件的图像与待测页面的图像中某一图像区域的匹配程度,因此,如果多个第一相似度中的最大值大于预设的第一相似度阈值,可表征待测页面中存在该控件。最大第一相似度对应的图像区域即是与基准控件的图像最相似的区域,可将该图像区域确定为基准控件对应的图像区域。其中,预设的第一相似度阈值可预先标定出。
通过上述技术方案,并不是直接将预先截取的基准控件的图像与待测页面的图像进行匹配,而是首先对基准控件的图像按照不同倍数进行放缩,之后再将放缩后图像与待测页面的图像进行匹配,可以避免由于分辨率不同而导致的匹配准确度低的问题。
在通过更细粒度的页面中控件的图像进行匹配之前,还可首先大致判断待测页面与目标基准页面是否相似。本公开中,数据库中还可存储有目标基准页面的图像,如图5所示的目标基准页面的图像。在S603之前,本公开提供的页面测试方法还可包括:
将待测页面的图像与目标基准页面的图像进行匹配,并得到对应的第二相似度。
在该第二相似度大于预设的第二相似度阈值的情况下,再执行S603中根据数据库中存储的目标基准页面的多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域的步骤。
在一实施方式中,如果在获取基准控件的图像的过程中,对目标基准页面的图像和基准控件的图像均进行了分辨率调整,并且,数据库中存储的也是进行分辨率调整之后的目标基准页面的图像,此处也可对待测页面的图像进行分辨率调整,将待测页面的图像调整至预设分辨率,之后再与目标基准页面的图像进行匹配。例如将图7所示的待测页面的图像与图5所示的目标基准页面的图像进行匹配。
示例地,例如采用感知哈希算法进行图像匹配,并得到对应的第二相似度。将待测页面的图像与目标基准页面的图像进行匹配的目的,是首先将两张图像进行粗粒度的对比。如果得到的第二相似度不大于预设的第二相似度阈值,可认为待测页面与目标基准页面相差较大,待测页面的渲染出现了问题,此时可认为待测页面未通过测试。如果得到的第二相似度大于预设的第二相似度阈值,可认为待测页面与目标基准页面较为相似,之后再进行更细粒度的页面中控件的图像的匹配。即在该第二相似度大于预设的第二相似度阈值的情况下,再执行S603。其中,预设的第二相似度阈值可预先标定出。
基于同一发明构思,本公开还提供一种页面测试装置。图11是根据一示例性实施例示出的一种页面测试装置的框图。如图11所示,该装置1100可包括:
获取模块1101,被配置成用于获取待测页面的图像;
目标基准页面确定模块1102,被配置成用于从多个基准页面中确定与所述待测页面相匹配的目标基准页面;
图像区域确定模块1103,被配置成用于根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;
测试结果确定模块1104,被配置成用于在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
通过上述技术方案,从多个基准页面中确定与待测页面相匹配的目标基准页面,该待测页面与目标基准页面对应的为同一页面。数据库中预先存储有目标基准页面中多个基准控件的图像,根据多个基准控件的图像,从待测页面的图像中确定与每一基准控件对应的图像区域,通过能否确定出每一基准控件各自对应的图像区域,可以判断待测页面中的控件是否完整。并且,由于页面中两个控件之间的距离在不同分辨率的设备上可能会有较大差别,而不论在哪种分辨率的设备上进行渲染,它们之间的角度差异都在一定范围内。因此,根据数据库中预先存储的至少一个目标基准控件的验证角度,把验证角度作为参照,对待测页面的控件布局进行测试。这样,对于不同分辨率的设备所渲染出的页面,均可以进行准确测试。如此,不仅可以确定出待测页面中的控件是否完整,还可以测试控件布局是否合理并符合预期,保证对页面测试的全面性,而且可以适用于所有分辨率的设备所展示的页面,避免由于屏幕分辨率的差异而导致的测试不准确的问题,提高页面测试的效率和准确度。
可选地,所述测试结果确定模块1104可包括:第一确定子模块,被配置成用于确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度;第二确定子模块,被配置成用于在所述实际角度和所述验证角度匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
可选地,一基准控件相对于另一基准控件的角度为这两个基准控件的中心点连线与水平线的夹角,所述数据库中还存储有所述目标基准控件与所述其他基准控件的验证相对位置信息;相应地,所述装置1100还可包括:实际相对位置信息确定模块,被配置成用于确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域的实际相对位置信息;所述第一确定子模块被配置成用于在所述实际相对位置信息和所述验证相对位置信息一致的情况下,再确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度。
可选地,所述数据库中还存储有所述目标基准控件的验证位置信息,所述验证位置信息为所述目标基准控件在所述目标基准页面的水平方向上的位置信息;所述装置1100还可包括:实际位置信息确定模块,被配置成用于在所述实际角度和所述验证角度不匹配的情况下,确定所述目标基准控件对应的所述图像区域在所述待测页面的水平方向上的实际位置信息;确定模块,被配置成用于在所述实际位置信息与所述验证位置信息匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
可选地,所述图像区域确定模块1103可包括:放缩子模块,被配置成用于针对每一所述基准控件的图像,将所述基准控件的图像按照预设的多个倍数分别进行放缩,得到多个放缩后图像;第三确定子模块,被配置成用于针对每一放缩后图像,从所述待测页面的图像中确定与所述放缩后图像相匹配的图像区域,并得到该图像区域与所述放缩后图像的第一相似度;第四确定子模块,被配置成用于在多个所述第一相似度中的最大值大于预设的第一相似度阈值的情况下,确定最大的第一相似度对应的图像区域为所述基准控件对应的图像区域。
可选地,所述数据库中还存储有所述目标基准页面的图像;所述装置1100还可包括:匹配模块,被配置成用于在所述图像区域确定模块1103根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域之前,将所述待测页面的图像与所述目标基准页面的图像进行匹配,并得到对应的第二相似度;所述图像区域确定模块1103被配置成用于在所述第二相似度大于预设的第二相似度阈值的情况下,再根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域。
下面参考图12,其示出了适于用来实现本公开实施例的电子设备(1200的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200可以包括处理装置(例如中央处理器、图形处理器等)1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储装置1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有电子设备1200操作所需的各种程序和数据。处理装置1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
通常,以下装置可以连接至I/O接口1205:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1206;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1207;包括例如磁带、硬盘等的存储装置1208;以及通信装置1209。通信装置1209可以允许电子设备1200与其他设备进行无线或有线通信以交换数据。虽然图12示出了具有各种装置的电子设备1200,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1209从网络上被下载和安装,或者从存储装置1208被安装,或者从ROM 1202被安装。在该计算机程序被处理装置1201执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待测页面的图像;从多个基准页面中确定与所述待测页面相匹配的目标基准页面;根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“图像获取模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种页面测试方法,所述方法包括:获取待测页面的图像;从多个基准页面中确定与所述待测页面相匹配的目标基准页面;根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述验证角度包括所述目标基准控件相对于与所述目标基准控件距离最近的两个其他基准控件中的每一者的角度。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果,包括:确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度;在所述实际角度和所述验证角度匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,一基准控件相对于另一基准控件的角度为这两个基准控件的中心点连线与水平线的夹角,所述数据库中还存储有所述目标基准控件与所述其他基准控件的验证相对位置信息;相应地,所述方法还包括:确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域的实际相对位置信息;在所述实际相对位置信息和所述验证相对位置信息一致的情况下,再执行所述确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度的步骤。
根据本公开的一个或多个实施例,示例5提供了示例3的方法,所述数据库中还存储有所述目标基准控件的验证位置信息,所述验证位置信息为所述目标基准控件在所述目标基准页面的水平方向上的位置信息;所述方法还包括:在所述实际角度和所述验证角度不匹配的情况下,确定所述目标基准控件对应的所述图像区域在所述待测页面的水平方向上的实际位置信息;在所述实际位置信息与所述验证位置信息匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
根据本公开的一个或多个实施例,示例6提供了示例1的方法,所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,包括:针对每一所述基准控件的图像,将所述基准控件的图像按照预设的多个倍数分别进行放缩,得到多个放缩后图像;针对每一放缩后图像,从所述待测页面的图像中确定与所述放缩后图像相匹配的图像区域,并得到该图像区域与所述放缩后图像的第一相似度;在多个所述第一相似度中的最大值大于预设的第一相似度阈值的情况下,确定最大的第一相似度对应的图像区域为所述基准控件对应的图像区域。
根据本公开的一个或多个实施例,示例7提供了示例1的方法,所述数据库中还存储有所述目标基准页面的图像;在所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域的步骤之前,所述方法还包括:将所述待测页面的图像与所述目标基准页面的图像进行匹配,并得到对应的第二相似度;在所述第二相似度大于预设的第二相似度阈值的情况下,再执行所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域的步骤。
根据本公开的一个或多个实施例,示例8提供了一种页面测试装置,所述装置包括:获取模块,被配置成用于获取待测页面的图像;目标基准页面确定模块,被配置成用于从多个基准页面中确定与所述待测页面相匹配的目标基准页面;图像区域确定模块,被配置成用于根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;测试结果确定模块,被配置成用于在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例7中所述方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例7中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (9)
1.一种页面测试方法,其特征在于,所述方法包括:
获取待测页面的图像;
从多个基准页面中确定与所述待测页面相匹配的目标基准页面;
根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;
在确定出每一所述基准控件各自对应的图像区域的情况下,确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度;
在所述实际角度和所述验证角度匹配的情况下,确定所述待测页面的控件布局的测试结果为通过测试。
2.根据权利要求1所述的方法,其特征在于,所述验证角度包括所述目标基准控件相对于与所述目标基准控件距离最近的两个其他基准控件中的每一者的角度。
3.根据权利要求1所述的方法,其特征在于,一基准控件相对于另一基准控件的角度为这两个基准控件的中心点连线与水平线的夹角,所述数据库中还存储有所述目标基准控件与所述其他基准控件的验证相对位置信息,其中,所述验证相对位置信息是所述目标基准控件与所述其他基准控件在所述目标基准页面中相对所处的方向;
相应地,所述方法还包括:
确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域的实际相对位置信息;
在所述实际相对位置信息和所述验证相对位置信息一致的情况下,再执行所述确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度的步骤。
4.根据权利要求1所述的方法,其特征在于,所述数据库中还存储有所述目标基准控件的验证位置信息,所述验证位置信息为所述目标基准控件在所述目标基准页面的水平方向上的位置信息;
所述方法还包括:
在所述实际角度和所述验证角度不匹配的情况下,确定所述目标基准控件对应的所述图像区域在所述待测页面的水平方向上的实际位置信息;
在所述实际位置信息与所述验证位置信息匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
5.根据权利要求1所述的方法,其特征在于,所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,包括:
针对每一所述基准控件的图像,将所述基准控件的图像按照预设的多个倍数分别进行放缩,得到多个放缩后图像;
针对每一放缩后图像,从所述待测页面的图像中确定与所述放缩后图像相匹配的图像区域,并得到该图像区域与所述放缩后图像的第一相似度;
在多个所述第一相似度中的最大值大于预设的第一相似度阈值的情况下,确定最大的第一相似度对应的图像区域为所述基准控件对应的图像区域。
6.根据权利要求1所述的方法,其特征在于,所述数据库中还存储有所述目标基准页面的图像;
在所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域的步骤之前,所述方法还包括:
将所述待测页面的图像与所述目标基准页面的图像进行匹配,并得到对应的第二相似度;
在所述第二相似度大于预设的第二相似度阈值的情况下,再执行所述根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域的步骤。
7.一种页面测试装置,其特征在于,所述装置包括:
获取模块,被配置成用于获取待测页面的图像;
目标基准页面确定模块,被配置成用于从多个基准页面中确定与所述待测页面相匹配的目标基准页面;
图像区域确定模块,被配置成用于根据数据库中存储的所述目标基准页面的多个基准控件的图像,从所述待测页面的图像中确定与每一所述基准控件对应的图像区域,其中,所述数据库中还存储有至少一个目标基准控件的验证角度,所述验证角度用于表征所述目标基准控件相对于其他基准控件的角度,所述目标基准控件为所述多个基准控件之一;
测试结果确定模块,被配置成用于在确定出每一所述基准控件各自对应的图像区域的情况下,根据所述目标基准控件的所述验证角度,确定所述待测页面的控件布局的测试结果;
其中,所述测试结果确定模块包括:
第一确定子模块,被配置成用于确定所述目标基准控件对应的所述图像区域与所述其他基准控件各自对应的图像区域之间的实际角度;
第二确定子模块,被配置成用于在所述实际角度和所述验证角度匹配的情况下,确定所述待测页面的控件布局的所述测试结果为通过测试。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010367844.5A CN111581091B (zh) | 2020-04-30 | 2020-04-30 | 页面测试方法、装置、可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010367844.5A CN111581091B (zh) | 2020-04-30 | 2020-04-30 | 页面测试方法、装置、可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581091A CN111581091A (zh) | 2020-08-25 |
CN111581091B true CN111581091B (zh) | 2023-03-21 |
Family
ID=72122839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010367844.5A Active CN111581091B (zh) | 2020-04-30 | 2020-04-30 | 页面测试方法、装置、可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581091B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988586B (zh) * | 2021-03-25 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 一种控件测试方法、装置、电子设备及存储介质 |
CN113407460B (zh) * | 2021-07-16 | 2023-04-11 | 抖音视界有限公司 | 一种页面测试方法、装置、设备及存储介质 |
CN113610836A (zh) * | 2021-08-20 | 2021-11-05 | 车主邦(北京)科技有限公司 | 控件配置方法、装置、计算机可读介质及电子设备 |
CN113742626A (zh) * | 2021-09-07 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种对网页预设文件的视觉验证方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002992A (en) * | 1997-06-16 | 1999-12-14 | Motorola Inc | Test system for verifying angle/time based systems and method therefor |
CN104572428A (zh) * | 2013-10-16 | 2015-04-29 | 陆璐 | 基于windows操作***下的复杂控件测试方法 |
CN106709912A (zh) * | 2016-12-29 | 2017-05-24 | 天津市亚安科技有限公司 | 一种预置位精度自动测试***及其测试方法 |
CN108446227A (zh) * | 2018-03-12 | 2018-08-24 | 广东睿江云计算股份有限公司 | 一种基于selenium的虚拟机浏览器兼容性测试方法 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
WO2019090691A1 (zh) * | 2017-11-10 | 2019-05-16 | 华为技术有限公司 | Monkey测试方法及终端 |
CN109815156A (zh) * | 2019-02-28 | 2019-05-28 | 北京百度网讯科技有限公司 | 页面中视觉元素的展示测试方法、装置、设备和存储介质 |
CN110532188A (zh) * | 2019-08-30 | 2019-12-03 | 北京三快在线科技有限公司 | 页面展示测试的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7417632B2 (en) * | 2004-12-02 | 2008-08-26 | Sap Ag | Automatic testing of graphics programs |
US8645819B2 (en) * | 2011-06-17 | 2014-02-04 | Xerox Corporation | Detection and extraction of elements constituting images in unstructured document files |
-
2020
- 2020-04-30 CN CN202010367844.5A patent/CN111581091B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002992A (en) * | 1997-06-16 | 1999-12-14 | Motorola Inc | Test system for verifying angle/time based systems and method therefor |
CN104572428A (zh) * | 2013-10-16 | 2015-04-29 | 陆璐 | 基于windows操作***下的复杂控件测试方法 |
CN106709912A (zh) * | 2016-12-29 | 2017-05-24 | 天津市亚安科技有限公司 | 一种预置位精度自动测试***及其测试方法 |
WO2019090691A1 (zh) * | 2017-11-10 | 2019-05-16 | 华为技术有限公司 | Monkey测试方法及终端 |
CN108446227A (zh) * | 2018-03-12 | 2018-08-24 | 广东睿江云计算股份有限公司 | 一种基于selenium的虚拟机浏览器兼容性测试方法 |
CN109408367A (zh) * | 2018-09-03 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 一种识别交互界面的控件元素的方法及终端 |
CN109815156A (zh) * | 2019-02-28 | 2019-05-28 | 北京百度网讯科技有限公司 | 页面中视觉元素的展示测试方法、装置、设备和存储介质 |
CN110532188A (zh) * | 2019-08-30 | 2019-12-03 | 北京三快在线科技有限公司 | 页面展示测试的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111581091A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581091B (zh) | 页面测试方法、装置、可读介质及电子设备 | |
CN112101305B (zh) | 多路图像处理方法、装置及电子设备 | |
CN105474622A (zh) | 用于产生全对焦图像的方法和设备 | |
CN111222509B (zh) | 目标检测方法、装置及电子设备 | |
CN112183627B (zh) | 生成预测密度图网络的方法和车辆年检标数量检测方法 | |
CN116186354B (zh) | 区域画像显示方法、装置、电子设备和计算机可读介质 | |
CN112488783A (zh) | 图像采集方法、装置和电子设备 | |
CN110287954A (zh) | 目标区域确定模型的训练方法、装置和计算机可读存储介质 | |
CN114490395A (zh) | 测试处理方法、装置、设备及介质 | |
CN110740315B (zh) | 摄像头矫正方法、装置、电子设备及存储介质 | |
CN117252837A (zh) | 一种晶圆测试的数据处理方法、装置、介质和电子设备 | |
CN116468914A (zh) | 页面对比方法、装置、存储介质及电子设备 | |
CN110852242A (zh) | 基于多尺度网络的水印识别方法、装置、设备及存储介质 | |
CN110619597A (zh) | 一种半透明水印去除方法、装置、电子设备及存储介质 | |
CN116092092A (zh) | 匹配方法、装置、介质及电子设备 | |
CN114489903A (zh) | 界面元素定位方法、装置、存储介质及电子设备 | |
CN111832354A (zh) | 目标对象年龄识别方法、装置及电子设备 | |
CN111461964B (zh) | 图片处理方法、装置、电子设备和计算机可读介质 | |
CN113849416A (zh) | 测试方法、装置、存储介质及电子设备 | |
CN111292245A (zh) | 图像处理方法和装置 | |
CN115860573B (zh) | 基于检测项的公路工程检测方法、电子设备和可读介质 | |
CN112800962B (zh) | 笔画书写方向检测方法、装置、介质及电子设备 | |
CN117315172B (zh) | 地图页面配置方法、装置、电子设备与计算机可读介质 | |
CN110189279B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN114359673B (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 |