页面测试方法、装置、电子设备和介质与流程

文档序号:23651203发布日期:2021-01-15 13:47阅读:69来源:国知局
页面测试方法、装置、电子设备和介质与流程

本申请涉及计算机技术领域,具体地,涉及计算机视觉、深度学习、图像处理等领域,更具体地,涉及一种页面测试方法、装置、电子设备和介质。



背景技术:

在对页面进行测试的过程中,通常需要识别页面上的元素,并对所识别的元素执行点击、滑动等测试操作。但是,相关技术在识别页面上的元素时,所识别的元素类型较为单一,导致基于所识别的单一类型的元素来进行页面测试而使得页面测试的效果不佳。



技术实现要素:

本申请提供了一种用于页面测试方法、装置、电子设备以及存储介质。

根据第一方面,本申请提供了一种页面测试方法,包括:识别待测试页面中的至少一种类型的元素,根据元素的类型和元素在页面中的位置中的至少之一,确定至少一种类型的元素组件,所述元素组件包括所述至少一种类型的元素中的至少一个元素,针对每种类型的元素组件,确定页面测试操作,对每种类型的元素组件执行针对该种类型的元素组件而确定的页面测试操作。

根据第二方面,本申请提供了一种页面测试装置,包括:识别模块、第一确定模块、第二确定模块以及执行模块。其中,识别模块用于识别待测试页面中的至少一种类型的元素,第一确定模块用于根据元素的类型和元素在页面中的位置中的至少之一,确定至少一种类型的元素组件,所述元素组件包括所述至少一种类型的元素中的至少一个元素,第二确定模块用于针对每种类型的元素组件,确定页面测试操作,执行模块用于对每种类型的元素组件执行针对该种类型的元素组件而确定的页面测试操作。

根据第三方面,本申请提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。

根据第四方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方法。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1示意性示出了根据本申请实施例的页面测试的应用场景;

图2示意性示出了根据本申请一实施例的页面测试方法的流程图;

图3示意性示出了根据本申请另一实施例的页面测试方法的流程图;

图4示意性示出了根据本申请实施例的确定多图类型的元素组件的示意图;

图5示意性示出了根据本申请实施例的确定输入框类型的元素组件的示意图;

图6示意性示出了根据本申请实施例的确定按钮类型的元素组件的示意图;

图7示意性示出了根据本申请实施例的确定信息展示类型的元素组件的示意图;

图8示意性示出了根据本申请实施例的确定选项切换类型的元素组件的示意图;

图9至图10示意性示出了根据本申请实施例的确定图标类型的元素组件的示意图;

图11示意性示出了根据本申请实施例的识别待测试页面的流程图;

图12示意性示出了根据本申请实施例的划分待测试页面的示意图;

图13示意性示出了根据本申请实施例的页面测试装置的框图;以及

图14是用来实现本申请实施例的页面测试方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

本申请的实施例提供了一种页面测试方法,包括:识别待测试页面中的至少一种类型的元素,根据元素的类型和元素在页面中的位置中的至少之一,确定至少一种类型的元素组件,元素组件包括至少一种类型的元素中的至少一个元素。针对每种类型的元素组件,确定页面测试操作,对每种类型的元素组件执行针对该种类型的元素组件而确定的页面测试操作。

图1示意性示出了根据本申请实施例的页面测试的应用场景。

如图1所示,本申请实施例的应用场景100例如包括待测试页面110。待测试页面110中例如包括多种类型的元素,多种类型的元素可以包括但不仅限于图片111a和111b、文字112a和112b、线条113a和113b、图标114a和114b。

在本申请实施例中,可以通过识别待测试页面110中各类型的元素,以便基于所识别出的各类型的元素确定针对待测试页面110执行的页面测试操作。在一种示例中,可以基于所识别出的各类型的元素确定针对各类型的元素执行的页面测试操作。

例如,以针对图片111a执行页面测试操作为例,可以对所识别出的图片111a进行点击操作,以确认页面是否响应针对图片111a的点击操作而放大图片或者链接到与图片111a相关联的其他页面。如果页面响应针对图片111a的点击操作而放大图片或者链接到与图片111a相关联的其他页面,则可以确定测试结果为页面正常。如果页面不响应针对图片111a的点击操作,或者响应针对图片111a的点击操作而链接到错误的页面,则可以确定测试结果为页面异常。可以理解,针对不同类型的元素所执行的页面测试操作可以不同,页面测试操作可以包括但不仅限于点击操作、滑动操作,在此不再一一赘述。

本申请实施例提供了一种页面测试方法,下面结合图1的应用场景,参考图2~图12来描述根据本申请示例性实施方式的页面测试方法。

图2示意性示出了根据本申请一实施例的页面测试方法的流程图。

如图2所示,本申请实施例的页面测试方法200例如可以包括操作s210~操作s240。

在操作s210,识别待测试页面中的至少一种类型的元素。

在操作s220,根据元素的类型和元素在页面中的位置中的至少之一,确定至少一种类型的元素组件,元素组件包括至少一种类型的元素中的至少一个元素。

在操作s230,针对每种类型的元素组件,确定页面测试操作。

在操作s240,对每种类型的元素组件执行针对该种类型的元素组件而确定的页面测试操作。

根据本申请的实施例,待测试页面中例如包括多种类型的元素,多种类型的元素可以包括但不仅限于图片、文字、线条、图标。通过对待测试页面进行识别可以得到页面中的元素。其中,所识别得到的每种类型的元素可以包括一个或多个元素。

在识别得到页面中的元素之后,可以基于所识别元素的类型来从所识别的元素中确定不同类型的元素组件,例如可以将所识别的元素中的多个图片确定为一个元素组件。或者可以基于所识别的元素在页面中的位置来确定不同类型的元素组件,例如当识别结果表征页面中的一些特定位置存在至少一个元素,则可以将特定位置处的至少一个元素确定为元素组件。又或者可以基于所识别元素的类型和元素的位置共同来确定元素组件,例如当所识别的元素包括文字和线条时,可以根据文字和线条在页面中位置确定文字和线条的相对位置关系,并基于相对位置关系确定文字和线条所组成的元素组件。

在确定出多种类型的元素组件之后,可以根据元素组件的类型来确定针对该种类型的元素组件的页面测试操作。其中页面测试操作可以包括但不仅限于点击操作和滑动操作。其中,每种类型的元素组件可以对应不同的页面测试操作,例如一些类型的元素组件对应的页面测试操作为点击操作,另一些类型的元素组件对应的页面测试操作为滑动操作,另一些类型的元素组件对应的页面测试操作为点击操作和滑动操作。

在确定出针对每种类型的元素组件的页面测试操作之后,可以针对每种类型的元素组件执行其对应的页面测试操作,便于测试页面是否能够正常响应所执行的页面测试操作以得到测试结果,从而根据测试结果来判断页面是否正常。

根据本申请的实施例,通过识别出待测试页面中的多种类型的元素之后,可以根据每个元素的类型和该元素在页面中的位置来确定元素所组成的元素组件,并根据元素组件的类型来确定针对该类型元素组件的页面测试操作,以便针对元素组件执行该元素组件对应的页面测试操作来对页面进行测试。本申请的实施例基于各种类型的元素确定元素组件,从而提高了元素组件的多样化。并且对各种类型的元素组件执行不同的页面测试操作,提高了页面测试的多样化,以及提高了页面测试的测试效果。

图3示意性示出了根据本申请另一实施例的页面测试方法的流程图。

如图3所示,本申请实施例的页面测试方法300例如可以包括操作s310~操作s320、操作s331~操作s333、操作332a~操作s332d以及操作s341~操作s346。

在操作s310,识别待测试页面中的至少一种类型的元素。

在操作s320,判断所识别的元素的类型。其中,所识别的元素可以包括图片、文字、线条和图标中的至少一种类型。

在判断结果表征元素为图片时,执行操作s331。在判断结果表征元素为文字和线条时,执行操作s332。在判断结果表征元素为图标时,执行操作s333。

在操作s331,对于所识别得到的多个图片,基于多个图片在页面中的位置和图片尺寸中的至少一个,确定多个图片中的图片集作为多图类型的元素组件。

在操作s332,对于所识别得到的多个文字和多个线条,判断所识别的文字和线条在页面中的位置以确定包括至少一个文字和至少一个线条的元素集合作为字框类型的元素组件,便于根据元素集合执行操作s332a~操作s332d中的至少一个操作。

在操作s333,对于所识别得到的多个图标,将多个图标中的每个图标确定为图标类型的元素组件。

在操作s332a,在元素集合中的至少一个文字位于至少一个线条所围成的边框内的边缘的情况下,将元素集合确定为输入框类型的元素组件。

在操作s332b,在元素集合中的至少一个文字位于至少一个线条所围成的边框内的中间的情况下,将元素集合确定为按钮类型的元素组件。

在操作s332c,在元素集合中的至少一个线条围成至少一个边框,至少一个边框布置成阵列,元素集合中的至少一个文字分布于至少一个边框中,并且边框的高度大于预设的阈值的情况下,将元素集合确定为信息展示类型的元素组件。

在操作s332d,在元素集合中的至少一个文字分为多组,多组文字沿第一方向排列,并且元素集合中的至少一个线条在垂直于第一方向的第二方向上位于多组文字中的一组文字的一侧的情况下,将元素集合确定为选项切换类型的元素组件,其中每组文字为一个选项。

在操作s341,确定页面测试操作为对多图类型的元素组件执行的点击操作和滑动操作中的至少一个,并执行所确定的页面测试操作。

在操作s342,确定页面测试操作为对输入框类型的元素组件执行的输入操作,并执行所确定的页面测试操作。

在操作s343,确定页面测试操作为对按钮类型的元素组件执行的点击操作,并执行所确定的页面测试操作。

在操作s344,确定页面测试操作为对信息展示类型的元素组件执行的点击操作和滑动操作中的至少一个,并执行所确定的页面测试操作。

在操作s345,确定页面测试操作为对选项切换类型的元素组件执行的点击操作,并执行所确定的页面测试操作。

在操作s346,确定页面测试操作为针对图标类型的元素组件执行的点击操作和滑动操作中的至少一个,并执行所确定的页面测试操作。

本申请根据所识别得到的元素的不同类型,基于不同的方式确定元素组件,使得基于较少类型的元素确定多种多样的元素组件,提高了元素组件的类型多样化,从而使得基于元素组件对页面进行测试时提高了测试的效果,并且降低了页面测试的成本以及提高了页面测试的覆盖率。

为了便于理解本申请实施例的技术方案,以下将结合图4至图10来进一步对图3中各个步骤进行描述。

图4示意性示出了根据本申请实施例的确定多图类型的元素组件的示意图。

如图4所示,识别待测试页面410得到的至少一种类型的元素例如包括识别待测试页面410中的多个图片421、422、423、424、425。

在本申请实施例中,根据多个图片421、422、423、424、425中每个图片在页面中的位置和图片尺寸中的至少之一,在多个图片中确定满足预设的第一条件的图片集,并将图片集确定为多图类型的元素组件420。

在一种示例中,可以根据多个图片421、422、423、424、425在页面中的位置来确定多图类型的元素组件。例如当基于多个图片421、422、423、424、425在页面中的位置确定部分的图片421、422、423、424之间布置成阵列,例如布置成单行阵列的情况下,可以确定图片421、422、423、424所组成的图片集作为多图类型的元素组件420,多图类型的元素组件420例如如图4中虚线框所指示。

在另一示例中,可以根据多个图片421、422、423、424、425在页面中的位置和各个图片的图片尺寸来确定多图类型的元素组件。例如当基于多个图片421、422、423、424、425在页面中的位置和图片尺寸确定部分的图片421、422、423、424组成图片集。其中,图片集包括多个第一图片421、422、423和至少一个第二图片424,至少一个第二图片424例如位于多个第一图片421、422、423的至少一侧,图4中例如示出了一个第二图片424位于多个第一图片421、422、423的一侧。其中第一图片的尺寸大于第二图片的尺寸,例如第一图片的宽度大于第二图片的宽度。将由图片421、422、423、424所组成的图片集作为多图类型的元素组件420,多图类型的元素组件420例如如图4中虚线框所指示。

在本申请实施例中,在确定出多图类型的元素组件之后,对于多图类型的元素组件,所确定的页面测试操作例如包括点击操作和滑动操作中的至少一个。其中,所确定的点击操作例如为针对多图类型的元素组件中每个图片的操作,所确定的滑动操作例如为针对多图类型的元素组件所在的区域的操作。

针对多图类型的元素组件中每个图片执行点击操作后,如果响应于点击操作执行放大图片或链接到与图片的关联的其他页面,则可以确定测试结果为页面正常。如果页面不响应针对图片的点击操作,或者响应针对图片的点击操作而链接到错误的页面,则可以确定测试结果为页面异常。

针对多图类型的元素组件所在的区域执行滑动操作后,如果响应于滑动操作而显示其他图片,则可以确定测试结果为页面正常,如果页面不响应针对图片的滑动操作,则可以确定测试结果为页面异常。

在本申请实施例中,根据多个图片在页面中的位置和图片尺寸来确定多个图片组成的多图类型的元素组件,提高了多图类型的元素组件的识别准确性。另外,基于多图类型的元素组件对页面进行测试,可以提高页面的测试效果。

以下将结合图5-图8来描述确定字框类型的元素组件。

在本申请实施例中,可以根据识别待测试页面得到的多个文字和多个线条来确定字框类型的元素组件。例如根据文字和线条在页面中的位置,在多个文字和多个线条中确定包括至少一个文字和至少一个线条的元素集合作为字框类型的元素组件,元素集合中的至少一个文字和至少一个线条之间的位置关系满足预设的第二条件。其中,字框类型例如包括输入框类型、按钮类型、信息展示类型以及选项切换类型中的至少之一。以下的图5示出了确定输入框类型的元素组件,图6示出了确定按钮类型的元素组件,图7示出了确定信息展示类型的元素组件,图8示出了确定选项切换类型的元素组件。

图5示意性示出了根据本申请实施例的确定输入框类型的元素组件的示意图。

如图5所示,根据文字和线条在页面510中的位置,在多个文字和多个线条中确定包括至少一个文字和至少一个线条的元素集合。其中,在元素集合中的至少一个文字位于至少一个线条所围成的边框内的边缘的情况下,将元素集合确定为输入框类型的元素组件。图5例如示出了输入框类型的元素组件包括元素组件521、522、523,元素组件521、522、523如虚线框所指示,图中示出了元素组件521、522、523中的文字位于边框的左侧。以元素组件523为例,该元素组件523中例如包括文字523a和线条523b。

在确定出输入框类型的元素组件521、522、523之后,针对输入框类型的元素组件521、522、523所确定的页面测试操作例如为对输入框类型的元素组件521、522、523执行的输入操作。

其中,在一种示例中,输入操作可以包括点击以激活元素组件521、522、523,并在激活后的元素组件521、522、523中输入文字信息来对元素组件521、522、523执行页面测试。如果页面响应输入操作,则可以确定测试结果为页面正常。如果页面不响应输入操作,则可以确定测试结果为页面异常。

在另一种示例中,输入操作可以包括点击元素组件521中的下拉选项521a或点击元素组件522中的下拉选项522a,在点击下拉菜单后页面上可以展示多个选项以供选择,通过点击多个选项来将选项所指示的文字信息输入至元素组件521、522中,以对元素组件521、522执行页面测试。在本申请的示例中,当元素组件521、522为输入日期的元素组件时,点击下拉菜单后页面上所展示多个选项例如包括日期选项,日期选项可以包括关于年份、月份或日的选项。如果页面响应输入操作,则可以确定测试结果为页面正常。如果页面不响应输入操作,则可以确定测试结果为页面异常。

在本申请的实施例中,根据文字和线条的相对位置来确定文字和线条组成的输入框类型的元素组件,提高了输入框类型的元素组件的识别准确性。另外,基于输入框类型的元素组件对页面进行测试,可以提高页面的测试效果。

图6示意性示出了根据本申请实施例的确定按钮类型的元素组件的示意图。

如图6所示,根据文字和线条在页面610中的位置,在多个文字和多个线条中确定包括至少一个文字和至少一个线条的元素集合。其中,在元素集合中的至少一个文字位于至少一个线条所围成的边框内的中间的情况下,将元素集合确定为按钮类型的元素组件。图6例如示出了按钮类型的元素组件包括元素组件620,元素组件620如虚线框所指示。

在确定出按钮类型的元素组件620之后,针对按钮类型的元素组件620所确定的页面测试操作例如为对按钮类型的元素组件620执行的点击操作,以便针对按钮类型的元素组件620执行点击操作来实现页面测试。如果页面响应针对按钮类型的元素组件执行点击操作,则可以确定测试结果为页面正常。如果页面不响应针对按钮类型的元素组件执行点击操作,则可以确定测试结果为页面异常。

在本申请的实施例中,根据文字和线条的相对位置来确定文字和线条组成的按钮类型的元素组件,提高了按钮类型的元素组件的识别准确性。另外,基于按钮类型的元素组件对页面进行测试,可以提高页面的测试效果。

图7示意性示出了根据本申请实施例的确定信息展示类型的元素组件的示意图。

如图7所示,根据文字和线条在页面710中的位置,在多个文字和多个线条中确定包括至少一个文字和至少一个线条的元素集合。其中,在元素集合中的至少一个线条围成至少一个边框,至少一个边框布置成阵列,元素集合中的至少一个文字分布于至少一个边框中,并且边框的高度大于预设的阈值的情况下,将元素集合确定为信息展示类型的元素组件。图7例如示出了信息展示类型的元素组件包括元素组件721、722,元素组件721、722如虚线框所指示。针对信息展示类型的元素组件721或722,边框的高度大于预设的阈值可以是边框的高度大于等于两行文字的高度,边框中的文字可以包括一行或多行。

在确定出信息展示类型的元素组件721、722之后,针对信息展示类型的元素组件721、722所确定的页面测试操作例如为对信息展示类型的元素组件721、722执行的点击操作和滑动操作中的至少一个。

在本申请的实施例中,在确定出多个信息展示类型的元素组件之后,对于信息展示类型的元素组件,所确定的页面测试操作例如包括点击操作和滑动操作中的至少一个。其中,所确定的点击操作为针对每个信息展示类型的元素组件的操作,所确定的滑动操作为针对多个信息展示类型的元素组件之间执行的操作。在一种示例中,每个信息展示类型的元素组件可以用于展示商品信息,不同的元素组件用于展示不同商品的信息。

针对每个信息展示类型的元素组件执行点击操作后,如果响应于点击操作链接到商品信息的展示页面,则可以确定测试结果为页面正常。如果页面不响应针对信息展示类型的元素组件的点击操作,或者响应针对信息展示类型的元素组件的点击操作而链接到错误的页面,则可以确定测试结果为页面异常。

针对多个信息展示类型的元素组件之间执行滑动操作后,如果响应于滑动操作而显示其他商品信息,则可以确定测试结果为页面正常。如果页面不响应针对多个信息展示类型的元素组件之间的滑动操作,则可以确定测试结果为页面异常。

在本申请实施例中,根据文字和线条的相对位置来确定文字和线条组成的信息展示类型的元素组件,提高了信息展示类型的元素组件的识别准确性。另外,基于信息展示类型的元素组件对页面进行测试,可以提高页面的测试效果。

图8示意性示出了根据本申请实施例的确定选项切换类型的元素组件的示意图。

如图8所示,根据文字和线条在页面810中的位置,在多个文字和多个线条中确定包括至少一个文字和至少一个线条的元素集合。其中,在元素集合中的至少一个文字分为多组,多组文字沿第一方向排列,并且元素集合中的至少一个线条在垂直于第一方向的第二方向上位于多组文字中的一组文字的一侧的情况下,将元素集合确定为选项切换类型的元素组件,其中每组文字为一个选项。图8例如示出了选项切换的元素组件包括元素组件830,元素组件830如虚线框所指示。

元素组件830中例如包括多组文字821、822、823、824、825以及至少一个线条826,图中示出了一个线条826。多组文字821、822、823、824、825沿着第一方向(例如水平方向)排列,线条826在第二方向(例如竖直方向)上位于一组文字821的一侧。其中,多组文字821、822、823、824、825中的每一组文字为一个选项,文字下方存在线条826的一组文字821为当前被选择的一组文字,其他组文字822、823、824、825为待选择的选项。

在确定出选项切换的元素组件之后,针对该选项切换的元素组件,所确定的页面测试操作例如包括点击操作。其中,所确定的页面测试操作为对选项切换类型的元素组件中除一组文字821之外的其他组文字822、823、824、825执行的点击操作。

针对其他组文字822、823、824、825中的任意一组执行点击操作后,如果响应于点击操作而显示该选项所指示的内容,则可以确定测试结果为页面正常。如果页面不响应该点击操作,或者响应该点击操作而显示与该选项不关联的内容,则可以确定测试结果为页面异常。

在本申请实施例中,根据文字和线条的相对位置来确定文字和线条组成的选项切换类型的元素组件,提高了选项切换类型的元素组件的识别准确性。另外,基于选项切换类型的元素组件对页面进行测试,可以提高页面的测试效果。

图9至图10示意性示出了根据本申请实施例的确定图标类型的元素组件的示意图。

如图9所示,当在页面910中识别出多个图标921、922、923之后,可以将多个图标921、922、923中的每个图标确定为图标类型的元素组件。

其中多个图标921、922、923中例如包括可操作图标和不可操作图标,可操作图标例如包括下拉图标921、关闭图标922等等,不可操作图标例如可以是页面的服务提供商的图标923。接下来,在多个图标921、922、923中确定出可操作图标921、922,并确定针对可操作图标921、922的页面测试操作。

如图9所示,在一种示例中,可操作图标921、922例如为点击操作图标,所确定的页面测试操作为对点击操作图标执行的点击操作。例如可以针对可操作图标921、922执行点击操作。当针对下拉图标921执行点击操作后,如果响应于点击操作而显示多个选项,则可以确定测试结果为页面正常。如果页面不响应针对下拉图标921的点击操作,则可以确定测试结果为页面异常。当针对关闭图标922执行点击操作后,如果响应于点击操作而关闭相应的内容,则可以确定测试结果为页面正常,如果页面不响应针对关闭图标922的点击操作,则可以确定测试结果为页面异常。

如图10所示,在另一示例中,当在页面1010中识别出图标1021之后,可以将图标1021确定为图标类型的元素组件,该图标1021为可操作图标,并且该可操作图标为滑动操作图标。接下来,基于可操作图标确定预设的区域1020,该图标1021例如位于预设的区域1020中,该预设的区域1020如图10虚线框所指示。针对该图标1021,所确定的页面测试操作例如为对预设的区域1020执行的滑动操作。

当针对预设的区域1020执行滑动操作后,如果响应于滑动操作而显示其他内容,则可以确定测试结果为页面正常。如果页面不响应针对预设的区域1020的滑动操作或者响应于滑动操作而显示错误内容,则可以确定测试结果为页面异常。

在本申请实施例中,通过识别页面中的多个图标,并确定多个图标中的可操作图标,可以基于不同类型的可操作图标执行不同的页面测试操作,从而提高页面的测试效果。

图11示意性示出了根据本申请实施例的识别待测试页面的流程图。

如图11所示,本申请实施例的识别待测试页面例如可以包括操作s1111~操作s1113。

在操作s1111,对待测试页面进行划分处理,以得到多个页面子区域。

在操作s1112,基于每个页面子区域中像素点的像素值,从多个页面子区域中确定出至少一个目标页面子区域。

在本申请实施例中,针对每个目标页面子区域,目标页面子区域中包括预设数量个像素值与基准像素值不一致的像素,基准像素值为待测试页面中作为背景的像素的像素值。

在操作s1113,对至少一个目标页面子区域进行识别,以得到至少一种类型的元素。

在本申请实施例中,通过对待测试页面进行划分得到多个页面子区域,并从多个页面子区域中确定出包括元素的目标页面子区域,以对目标页面子区域进行识别来得到多种类型的元素。通过针对包括元素的目标页面子区域进行识别,可以提高识别的效率,降低识别的成本。

图12示意性示出了根据本申请实施例的划分待测试页面的示意图。

如图12所示,本申请的实施例可以对电子设备的显示页面进行截图得到的图像,可以将截图得到的图像进行灰度处理得到待测试页面。

针对待测试页面,该待测试页面中例如包括页面背景,确定页面背景的像素的像素值作为基准像素值。以页面背景的颜色为白色为例,该页面背景的像素的像素值例如为255,即确定基准像素值为255。

依次检测待测试页面中的每一行像素和每一列像素,以确定出与背景像素不一致的起始行像素、终止行像素、起始列像素、终止列像素。其中,起始行像素和终止行像素之间的每行像素例如均包括多个像素值与基准像素值不同的像素,起始列像素和终止列像素之间的每列像素例如均包括多个像素值与基准像素值不同的像素。本申请的实施例可以包括多组行像素和多组列像素,每组行像素中包括一个起始行像素和一个终止行像素,每组列像素中包括一个起始列像素和一个终止列像素。接下来,以起始行像素、终止行像素、起始列像素、终止列像素作为分隔线来对页面进行划分以得到多个页面子区域,并确定多个页面子区域中的至少一个页面子区域作为目标页面子区域,每个目标页面子区域中包括多个像素值与基准像素值不一致的像素的,便于对目标页面子区域进行识别得到至少一种类型的元素。

图12中示例性示出了对待测试页面1210进行划分处理得到的多个目标页面子区域1221、1222、1223、1224、1225、1226等等。其中,每个目标页面子区域如虚线框所指示,在此不再一一以标号进行标记。

在本申请实施例中,由于待测试页面中包括多种类型的元素,针对不同类型的元素可以以不同的识别方式进行识别。在一种示例中,可以对待测试页面整体进行识别,在另一种示例中,可以对所划分得到的目标页面子区域进行识别,从而识别得到页面中的多种类型的元素。其中,多种类型的元素可以包括但不仅限于图片、文字、线条、图标。

在本申请的实施例中,可以利用图像噪声检测技术对待测试页面进行检测,以将基于待测试页面中噪点密度大于预设密度的区域所确定的元素作为图片类型的元素。例如,针对所划分得到的每个目标页面子区域,确定区域中噪点密度大于预设密度的目标页面子区域,并将该目标页面子区域确定为图片类型的元素。或者也可以确定噪点数量大于预设数量的目标页面子区域并将该目标页面子区域确定为图片类型的元素。

在本申请的实施例中,可以利用光学字符识别(opticalcharacterrecognition,ocr)技术对待测试页面进行识别,以确定文字类型的元素。例如利用光学字符识别技术对每个目标页面子区域进行识别,以确定目标页面子区域是否包含文字。

在本申请的实施例中,可以利用霍夫变换技术对待测试页面进行检测,以确定线条类型的元素。例如利用霍夫变换技术对每个目标页面子区域进行识别,以确定该目标页面子区域是否包含线条。

其中,例如利用利用霍夫变换技术对待测试页面进行检测得到多个线段,当多个线段中包括多个不连续的线段时,确定多个线段中方向相同且彼此之间的间隔小于预设间隔的部分线段,针对所确定出来的部分线段之间的间隔进行填充以得到新的线段作为线条类型的元素,从而可以提高线条的检测精度。

根据本申请的实施例,可以利用神经网络模型对待测试页面进行识别,以确定图标类型的元素。例如,将各种类型的图标作为样本数据来训练神经网络模型,作为样本数据的每个图标可以具有标签信息,该标签信息例如表征了该图标的类型。训练好的神经网络模型可以对待测试页面整体或目标页面子区域进行识别,以识别出待测试页面中的图标。可以理解,本申请实施例对神经网络模型的具体类型不作限定,神经网络模型可以是卷积神经网络模型(cnn),或者可以是改进的卷积神经网络模型fasterrcnn等等。

在本申请实施例中,通过不同的识别方式来识别不同类型的元素,从而可以提高识别效果和识别准确性,进而提高页面测试的效率和测试效果。

图13示意性示出了根据本申请实施例的页面测试装置的框图。

如图13所示,本申请实施例的页面测试装置1300例如包括识别模块1310、第一确定模块1320、第二确定模块1330以及执行模块1340。

识别模块1310可以用于识别待测试页面中的至少一种类型的元素。根据本申请实施例,识别模块1310例如可以执行上文参考图2描述的操作s210,在此不再赘述。

第一确定模块1320可以用于根据元素的类型和元素在页面中的位置中的至少之一,确定至少一种类型的元素组件,元素组件包括至少一种类型的元素中的至少一个元素。根据本申请实施例,第一确定模块1320例如可以执行上文参考图2描述的操作s220,在此不再赘述。

第二确定模块1330可以用于针对每种类型的元素组件,确定页面测试操作。根据本申请实施例,第二确定模块1330例如可以执行上文参考图2描述的操作s230,在此不再赘述。

执行模块1340可以用于对每种类型的元素组件执行针对该种类型的元素组件而确定的页面测试操作。根据本申请实施例,执行模块1340例如可以执行上文参考图2描述的操作s240,在此不再赘述。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

图14是用来实现本申请实施例的页面测试方法的电子设备的框图。

如图14所示,是根据本申请实施例的页面测试方法的电子设备1400的框图。电子设备1400旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图14所示,该电子设备1400包括:一个或多个处理器1410、存储器1420,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备1400内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备1400,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图14中以一个处理器1410为例。

存储器1420即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的页面测试方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的页面测试方法。

存储器1420作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的页面测试方法对应的程序指令/模块(例如,附图13所示的识别模块1310、第一确定模块1320、第二确定模块1330以及执行模块1340)。处理器1410通过运行存储在存储器1420中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的页面测试方法。

存储器1420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据页面测试的电子设备1400的使用所创建的数据等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1420可选包括相对于处理器1410远程设置的存储器,这些远程存储器可以通过网络连接至页面测试的电子设备1400。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

用于页面测试的方法的电子设备1400还可以包括:输入装置1430和输出装置1440。处理器1410、存储器1420、输入装置1430和输出装置1440可以通过总线或者其他方式连接,图14中以通过总线连接为例。

输入装置1430可接收输入的数字或字符信息,以及产生与页面测试的电子设备1400的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1440可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1