一种页面测试方法及装置转让专利

申请号 : CN201510300326.0

文献号 : CN105068918B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨洁邵利铎何栋杨理国邓朝健辛新

申请人 : 中国人民财产保险股份有限公司

摘要 :

本发明公开了一种页面测试方法及装置,该方法包括:获取实际页面的第一页面对象;提取所述第一页面对象的第一图像特征;将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;在比对结果符合设定条件时,计算所述实际网页的位置信息。用于解决现有基于Web的自动化测试中,通用性较差的问题。

权利要求 :

1.一种页面测试方法,其特征在于,包括:

获取实际页面的第一页面对象;

提取所述第一页面对象的第一图像特征;

将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;

在比对结果符合设定条件时,计算所述实际网页的位置信息,包括:获得实际页面的分辨率;根据存储的第二图像特征包含的第二页面对象对应的质心坐标与像素坐标(X0,Y0)之间的相对偏移量,所述实际网页的质心坐标和所述分辨率,计算所述实际网页的位置信息,其中,所述位置信息为所述实际网页的坐标。

2.如权利要求1所述的方法,其特征在于,按照下述方式确定所述图像特征库中的第二图像特征:接收用户在原型页面中输入的操作指令;

获取所述原型页面中与所述操作指令对应的第二页面对象;

提取所述第二页面对象的第二图像特征;

存储所述原型页面与所述第二图像特征。

3.如权利要求2所述的方法,其特征在于,获取所述原型页面中与所述操作指令对应的第二页面对象,包括:确定所述原型页面中与所述操作指令对应的位置的位置信息,和显示所述原型页面时屏幕的分辨率;

基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象。

4.如权利要求3所述的方法,其特征在于,所述图像分割算法包含区域生长算法;

基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象,包括:将所述位置信息记为像素坐标(X0,Y0);

以像素坐标(X0,Y0)为中心,基于区域生长算法,获取所述原型页面中与所述操作指令对应的第二页面图像;

计算所述第二页面图像的质心坐标;以及

计算所述质心坐标与所述像素坐标(X0,Y0)之间的相对偏移量;

将所述质心坐标、所述相对偏移量以及所述分辨率作为第二页面对象存储。

5.一种页面测试装置,其特征在于,包括:

图像分割模块,用于获取实际页面的第一页面对象;

特征提取模块,用于提取所述第一页面对象的第一图像特征;

图像匹配模块,用于将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;

计算模块,用于在比对结果符合设定条件时,计算所述实际网页的位置信息,所述计算模块,具体用于确定所述实际网页的质心坐标;获得实际页面的分辨率;根据存储的第二图像特征包含的第二页面对象对应的质心坐标与像素坐标(X0,Y0)之间的相对偏移量,所述实际网页的质心坐标和所述分辨率,计算所述实际网页的位置信息,其中,所述位置信息为所述实际网页的坐标。

6.如权利要求5所述的装置,其特征在于,所述图像匹配模块,还用于按照下述方式确定所述图像特征库中的第二图像特征:接收用户在原型页面中输入的操作指令;获取所述原型页面中与所述操作指令对应的第二页面对象;提取所述第二页面对象的第二图像特征;存储所述原型页面与所述第二图像特征。

7.如权利要求6所述的装置,其特征在于,所述图像匹配模块,具体用于确定所述原型页面中与所述操作指令对应的位置的位置信息,和显示所述原型页面时屏幕的分辨率;基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象。

8.如权利要求7所述的装置,其特征在于,所述图像分割算法包含区域生长算法;

所述图像匹配模块,具体用于将所述位置信息记为像素坐标(X0,Y0);以像素坐标(X0,Y0)为中心,基于区域生长算法,获取所述原型页面中与所述操作指令对应的第二页面图像;计算所述第二页面图像的质心坐标;以及计算所述质心坐标与所述像素坐标(X0,Y0)之间的相对偏移量;将所述质心坐标、所述相对偏移量以及所述分辨率作为第二页面对象存储。

说明书 :

一种页面测试方法及装置

技术领域

[0001] 本发明涉及计算式技术领域,尤其是涉及一种页面测试方法及装置。

背景技术

[0002] 随着Web应用的日渐庞大和复杂,Web应用的测试越来越得到重视。而在Web应用的测试方法中,自动化测试因为具有比手工测试效率高、执行速度快等优点获得了测试技术人员的广泛关注。
[0003] 在基于Web的自动化测试中,获取页面对象的属性是开发自动化测试脚本最为重要的步骤,目前最常见的页面对象获取方法是通过自动化测试工具提供的对象捕捉器。但是所有自动化测试工具都有自身的局限性,并不能识别所有的页面对象,因此那些识别不了的页面对象就成为困扰自动化测试人员的难题。通常情况下,解决自动化测试工具识别不了页面对象的方法主要是调用自动化工具提供的应用程序编程接口(Application Programming Interface,,API)编写代码处理页面对象,该种方式需要测试人员对程序内部代码有较深入的了解,而且对于不同类型的页面对象,没有统一的方法获取,需要每次编写不同的代码进行处理。
[0004] 由上述可知,现有基于Web的自动化测试中,通用性较差。

发明内容

[0005] 本发明提供了一种页面测试方法及装置,用于解决现有基于Web的自动化测试中,通用性较差的问题。
[0006] 一种页面测试方法,包括:获取实际页面的第一页面对象;提取所述第一页面对象的第一图像特征;将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;在比对结果符合设定条件时,计算所述实际网页的位置信息。
[0007] 按照下述方式确定所述图像特征库中的第二图像特征:接收用户在原型页面中输入的操作指令;获取所述原型页面中与所述操作指令对应的第二页面对象;提取所述第二页面对象的第二图像特征;存储所述原型页面与所述第二图像特征。
[0008] 获取所述原型页面中与所述操作指令对应的第二页面对象,包括:确定所述原型页面中与所述操作指令对应的位置的位置信息,和显示所述原型页面时屏幕的分辨率;基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象。
[0009] 所述图像分割算法包含区域生长算法;基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象,包括:将所述位置信息记为像素坐标(X0,Y0);以像素坐标(X0,Y0)为中心,基于区域生长算法,获取所述原型页面中与所述操作指令对应的第二页面图像;计算所述第二页面图像的质心坐标;以及计算所述质心坐标与所述像素坐标(X0,Y0)之间的相对偏移量;将所述质心坐标、所述相对偏移量以及所述分辨率作为第二页面对象存储。
[0010] 计算所述实际网页的位置信息,包括:确定所述实际网页的质心坐标;获得实际页面的分辨率;根据存储的第二图像特征,和所述分辨率,计算所述实际网页的位置信息。
[0011] 一种页面测试装置,包括:图像分割模块,用于获取实际页面的第一页面对象;特征提取模块,用于提取所述第一页面对象的第一图像特征;图像匹配模块,用于将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;计算模块,用于在比对结果符合设定条件时,计算所述实际网页的位置信息。
[0012] 所述图像匹配模块,还用于按照下述方式确定所述图像特征库中的第二图像特征:接收用户在原型页面中输入的操作指令;获取所述原型页面中与所述操作指令对应的第二页面对象;提取所述第二页面对象的第二图像特征;存储所述原型页面与所述第二图像特征。
[0013] 所述图像匹配模块,具体用于确定所述原型页面中与所述操作指令对应的位置的位置信息,和显示所述原型页面时屏幕的分辨率;基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象。
[0014] 所述图像分割算法包含区域生长算法;所述图像匹配模块,具体用于将所述位置信息记为像素坐标(X0,Y0);以像素坐标(X0,Y0)为中心,基于区域生长算法,获取所述原型页面中与所述操作指令对应的第二页面图像;计算所述第二页面图像的质心坐标;以及计算所述质心坐标与所述像素坐标(X0,Y0)之间的相对偏移量;将所述质心坐标、所述相对偏移量以及所述分辨率作为第二页面对象存储。
[0015] 所述计算模块,具体用于确定所述实际网页的质心坐标;获得实际页面的分辨率;根据存储的第二图像特征,和所述分辨率,计算所述实际网页的位置信息。
[0016] 通过采用上述技术方案,当用户希望在自动化测试脚本中对某个Web页面对象进行操作时,只需要在脚本中调用自定义的查询函数即可,获取实际页面的第一页面对象;提取所述第一页面对象的第一图像特征;将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对;在比对结果符合设定条件时,计算所述实际网页的位置信息。即实现了对实际页面对象的操作,从而达到降低用户抓取页面对象难度,提高自动化测试效率的目的。

附图说明

[0017] 图1为本发明实施例中,提出的页面测试方法流程图;
[0018] 图2为本发明实施例中,提出的区域分割方法示意图;
[0019] 图3为本发明实施例中,提出的页面测试装置结构组成示意图。

具体实施方式

[0020] 下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
[0021] 本发明实施例提出了一种页面测试方法,如图1所示,其具体处理流程如下述:
[0022] 步骤11,确定图像特征库。
[0023] 为便于阐述,本发明实施例提出的技术方案中,将页面进行了划分,区分为实际页面和原型页面。其中,实际页面是指用户进行自动化测试时,操作的Web页面。原型页面是指基于Web的自动化测试中,未经过变动的Web页面。为便于阐述,针对实际页面操作时,实际页面对应第一页面对应、第一图像特征。针对原型页面,该原型页面操作时对应第二页面对象、第二图像特征。
[0024] 本发明实施例提出的技术方案中,确定图像特征库。在确定图像特征库时,时根据原型页面来确定图像特征库的,其具体处理流程如下述:
[0025] 步骤一,接收用户在原型页面中输入的操作指令。
[0026] 用户可以在原型页面上点击操作Web页面对象。
[0027] 步骤二:获取原型页面中与操作指令对应的第二页面对象。
[0028] 首先,确定原型页面中与操作指令对应的位置的位置信息,和显示原型页面时屏幕的分辨率。
[0029] 其次,基于图像分割算法,根据位置信息和所述分辨率,获取原型页面中与所述操作指令对应的第二页面对象。
[0030] 其中,图像分割算法包含区域生长算法;
[0031] 基于图像分割算法,根据位置信息和所述分辨率,获取原型页面中与所述操作指令对应的第二页面对象,包括:
[0032] 首先,将位置信息记为像素坐标(X0,Y0)。
[0033] 其次,以像素坐标(X0,Y0)为中心,基于区域生长算法,获取原型页面中与操作指令对应的第二页面图像。
[0034] 再次,计算第二页面图像的质心坐标,计算质心坐标与像素坐标(X0,Y0)之间的相对偏移量。
[0035] 最后,将质心坐标、相对偏移量以及分辨率作为第二页面对象存储。
[0036] 步骤三:提取第二页面对象的第二图像特征;
[0037] 步骤四:存储原型页面与第二图像特征。
[0038] 具体地,首先,用户在原型页面上点击操作Web页面对象时,记录该页面对象的位置信息,该位置信息可以是x、y的像素坐标,记为(X0,Y0),以及当前屏幕分辨率。
[0039] 其次,定位位置信息之后,使用图像分割算法将第二对象在原型页面中分割出来,获取原型页面中与操作指令对应的第二页面图像。
[0040] 图像分割算法是图像识别和计算机视觉至关重要的预处理,常用的图像分割算方法有阈值分割、区域分割、边缘分割、直方图法等等。
[0041] 一种较佳地实施方式,本发明实施例提出的技术方案中,用户在原型页面中点击Web页面对象(即第二页面对象)时,记录了该第二页面对象的位置信息,因此采用区域分割中的区域生长方法将该第二页面对象分割出来。其中,区域生长算法是根据同一物体区域内像素的相似性质来聚集像素点的方法,从初始区域(例如用户点击该第二页面对象的位置)开始,将相邻的具有同样性质的像素或其他区域归并到目前的区域中从而逐步增长区域,直至没有可以归并的点或其他小的区域为止,区域内像素的相似性度量采用平均灰度值信息。
[0042] 其中,区域生长算法的实现步骤如下述:
[0043] A:确定记录的像素坐标(X0,Y0)。
[0044] 一种较佳地实施方式,该像素坐标可以是绝对坐标。
[0045] B:以像素坐标(X0,Y0)为中心,针对像素坐标(x0,y0)的4个邻域像素坐标(x,y),如果(x0,y0)满足生长准则,将邻域像素坐标(x,y)与(x0,y0)合并(在同一区域内),同时将邻域像素坐标(x,y)压入堆栈。
[0046] C:针对压入堆栈中的任一一个像素坐标,将该像素坐标作为像素坐标(X0,Y0),返回执行B。
[0047] D:返回循环执行B~C,直至堆栈中所有像素坐标的相邻像素坐标都不能合并,生长结束。
[0048] 再次,计算第二页面图像的质心坐标。
[0049] 具体地,区域生长算法将得到该第二页面图像f(x,y),对第二页面图像进行二值化后,计算第二页面图像的质心坐标:
[0050]
[0051] 其中,Cx是第二页面图像的质心坐标的横坐标,Cy第二页面图像的质心坐标的纵坐标,u0,0是第二页面图像的零阶矩,可以通过下述公式获得:
[0052]
[0053] 其中,w表示第二页面图像宽度,h表示第二页面图像高度。
[0054] u1,0,u0,1是第二页面图像一阶矩,可以通过下述公式获得:
[0055]
[0056]
[0057] 其中x,y是第二页面图像的横、纵坐标,f(x,y)是对第二页面图像进行二值化之后的(x,y)坐标点的灰度值。
[0058] w表示第二页面图像宽度,h表示第二页面图像高度。
[0059] 其次,将质心坐标、相对偏移量以及分辨率作为第二页面对象存储。
[0060] 在得到质心坐标时,根据得到的质心坐标,计算质心坐标与像素坐标(X0,Y0)之间的相对偏移量(Ox,Oy)。
[0061]
[0062]
[0063] 其中,(Ox,Oy)是相对偏移量,Cx是第二页面图像的质心坐标的横坐标,Cy第二页面图像的质心坐标的纵坐标。
[0064] 具体地,可以将得到的质心坐标、相对偏移量以及分辨率,和第二页面对象标识对应存储在图像特征库中。
[0065] 第二页面对象标识可以是原型页面标识。
[0066] 在确定图像特征库时,针对原型页面的图像特征进行提取,将提取的图像特征、得到的质心坐标、相对偏移量以及分辨率,和第二页面对象标识对应存储在图像特征库中。
[0067] 其中,对图像分类识别主要的方法是提取图像的特征,图像特征包括灰度、颜色、形状、纹理等等,特征提取是对图像所包含的信息进行处理和分析,将不易受随机因素干扰的信息作为该图像的特征提取出来。特征提取是去除冗余信息的过程,具有提高识别精度、减少运算量、提高运算速度等作用。
[0068] 一种较佳地实现方式,本发明实施例提出的技术方案中,采用颜色直方图法提取分割出的第二页面对象的颜色特征,并将提取到的颜色信息以及确定出的偏移量,存储到图像特征库中。
[0069] 颜色特征是在特征提取中应用较为广泛的视觉特征,它描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。与其他的视觉特征比,颜色特征对图像本身的尺寸、方向、视角的依赖性较小,从而具有较高的鲁棒性。颜色直方图能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例。颜色直方图可以基于不同的颜色空间和坐标系,本发明实施例提出的技术方案中,使用较为常用的RGB颜色空间,其中R、G、B分别为图像红、绿、蓝的亮度值,大小在0~255之间。RGB颜色直方图描述了出现了哪些颜色以及各种颜色出现的概率。其函数表达式如下:
[0070]
[0071] 其中,k代表第二图像的特征取值,L是特征可取值的个数,nk是图像中具有特征值为k的像素的个数,N是图像像素的总数。
[0072] 步骤12,获取实际页面的第一页面对象。
[0073] 步骤13,提取第一页面对象的第一图像特征。
[0074] 在对实际页面的第一页面对象运行自动化测试时,因为不确定要操作对象的位置,因此根据颜色图像特征,将实际页面分为若干区域,获得分割后的图像信息。具体地,可以采用区域分裂合并算法将实际页面进行分割。
[0075] 其中,区域分裂合并算法的基本思想是先确定一个分裂合并的准则,即区域特征一致性的测度,当图像中某个区域的特征不一致时就将该区域分裂成4个相等的子区域,当相邻的子区域满足一致性特征时则将它们合成一个大区域,直至所有区域不再满足分裂合并的条件为止。当分裂到不能再分的情况时,分裂结束,然后它将查找相邻区域有没有相似的特征,如果有就将相似区域进行合并,最后达到分割的作用。下面举一例来进行详细阐述:
[0076] 如图2所示,令R表示整幅图像区域并选择一个谓词P,对R进行分割的一种方法是反复将分割得到的结果图像再次分为四个区域,直到对任何区域Ri,有P(Ri)=TRUE。
[0077] 如果P(R)=FALSE,就将图像分割为4个区域。对任何区域如果P的值是FALSE。就将这4个区域的每个区域再次分别分为4个区域,如此不断继续下去。这种分割技术用所谓的四叉树形式表示最为方便(就是说,每个非叶子节点正好有4个子树),其中树的根对应于整个实际页面,每个节点对应于划分的子部分,此时,只有R4进行了进一步的再细分。
[0078] 具体地,特征一致性定义原则是指:如果在区域Ri内至少有80%的像素具有zj-mi≤2σi的性质,就定义P(Ri)=TRUE,这里zj是Ri内第j个像素的灰度级,mi是区域Ri的灰度级均值,σi是区域Ri内的灰度级的标准差。
[0079] 具体实现算法为:
[0080] A:对图像中灰度级不同的区域,均分为四个子区域。
[0081] B:如果相邻的子区域所有像素的灰度级相同(符合特征一致性原则),则将其合并。
[0082] C:反复进行上两步操作,直至不再有新的分裂与合并为止。
[0083] 通过颜色直方图方法,提取第一页面对象的第一图像特征。
[0084] 步骤14,将提取的第一图像特征和图像特征库中存储的第二图像特征比对。
[0085] 将提取的第一图像特征,与图像特征库中存储的原型页面对应的第二图像特征的颜色直方图进行匹配,匹配成功,则返回图像特征库匹配成功的图像信息。
[0086] 具体地,本发明实施例提出的技术方案中,颜色直方图的相似度量匹配方法采用最常用的直方图相交法,具体为:
[0087]
[0088] 其中,HQ(k)为原型页面对应的第二页面对象中某一区域图像的颜色统计直方图,HD(k)为实际页面对应的第一页面对象中某一区域图像的颜色统计直方图,P(Q,D)为第二页面对象和第一页面对象之间的匹配值,k代表图像的特征取值,L是特征可取值个数。
[0089] 由上述公式可知,得到的结果P(Q,D)值越大,表示匹配程度越高,将获得P(Q,D)值最大的HD(k)所对应的图像返回图像特征库。
[0090] 步骤15,在比对结果符合设定条件时,计算实际网页的位置信息。
[0091] 首先,确定实际网页的质心坐标。
[0092] 根据图像特征库中匹配的第二图像特征,确定实际网页的质心坐标(C'x,C'y)。
[0093] 其次,获得实际页面的分辨率。
[0094] 再次,根据存储的第二图像特征,和分辨率,计算实际网页的位置信息。
[0095] 具体地,可以通过下述公式计算实际网页的位置信息:
[0096] Bx=C'x-Ox*实际页面X分辨率
[0097] By=C'y-Oy*实际页面Y分辨率
[0098] 其中,(Bx,By)是实际网页的坐标,(C'x,C'y)是实际网页的质心坐标,(Ox,Oy)是第二页面对象对应的质心坐标与像素坐标(X0,Y0)之间的相对偏移量。
[0099] 本发明实施例上述提出的技术方案中,当用户希望在自动化测试脚本中对某个Web页面对象进行操作时,只需要在脚本中调用自定义的查询函数即可,该查询函数以用户定义的页面对象名称为参数,在图像特征库的图像存储模块中进行查询,返回实际页面中对象的操作坐标,即实现了对实际页面对象的操作,从而达到降低用户抓取页面对象难度,提高自动化测试效率的目的。
[0100] 相应地,本发明实施例还提出一种页面测试装置,如图3所示,包括:
[0101] 图像分割模块301,用于获取实际页面的第一页面对象。
[0102] 特征提取模块302,用于提取所述第一页面对象的第一图像特征。
[0103] 用户进行自动化测试时,在实际页面中点击,根据颜色图像特征,将实际页面分为若干区域,获得分割后的图像信息。具体地,可以采用区域分裂合并算法将实际页面进行分割。
[0104] 其中,区域分裂合并算法的基本思想是先确定一个分裂合并的准则,即区域特征一致性的测度,当图像中某个区域的特征不一致时就将该区域分裂成4个相等的子区域,当相邻的子区域满足一致性特征时则将它们合成一个大区域,直至所有区域不再满足分裂合并的条件为止。当分裂到不能再分的情况时,分裂结束,然后它将查找相邻区域有没有相似的特征,如果有就将相似区域进行合并,最后达到分割的作用。
[0105] 图像匹配模块303,用于将提取的所述第一图像特征和图像特征库中存储的第二图像特征比对。
[0106] 将提取的第一图像特征,与图像特征库中存储的原型页面对应的第二图像特征的颜色直方图进行匹配,匹配成功,则返回图像特征库匹配成功的图像信息。
[0107] 具体地,本发明实施例提出的技术方案中,颜色直方图的相似度量匹配方法采用最常用的直方图相交法,具体为:
[0108]
[0109] 其中,HQ(k)为原型页面对应的第二页面对象中某一区域图像的颜色统计直方图,HD(k)为实际页面对应的第一页面对象中某一区域图像的颜色统计直方图,P(Q,D)为第二页面对象和第一页面对象之间的匹配值,k代表图像的特征取值,L是特征可取值个数。
[0110] 由上述公式可知,得到的结果P(Q,D)值越大,表示匹配程度越高,将获得P(Q,D)值最大的HD(k)所对应的图像返回图像特征库。
[0111] 计算模块304,用于在比对结果符合设定条件时,计算所述实际网页的位置信息。
[0112] 具体地,上述图像匹配模块303,还用于按照下述方式确定所述图像特征库中的第二图像特征:接收用户在原型页面中输入的操作指令;获取所述原型页面中与所述操作指令对应的第二页面对象;提取所述第二页面对象的第二图像特征;存储所述原型页面与所述第二图像特征。
[0113] 具体地,上述图像匹配模块303,具体用于确定所述原型页面中与所述操作指令对应的位置的位置信息,和显示所述原型页面时屏幕的分辨率;基于图像分割算法,根据所述位置信息和所述分辨率,获取所述原型页面中与所述操作指令对应的第二页面对象。
[0114] 所述图像分割算法包含区域生长算法;具体地,上述图像匹配模块303,具体用于将所述位置信息记为像素坐标(X0,Y0);以像素坐标(X0,Y0)为中心,基于区域生长算法,获取所述原型页面中与所述操作指令对应的第二页面图像;计算所述第二页面图像的质心坐标;以及计算所述质心坐标与所述像素坐标(X0,Y0)之间的相对偏移量;将所述质心坐标、所述相对偏移量以及所述分辨率作为第二页面对象存储。
[0115] 本发明实施例提出的技术方案中,确定图像特征库。在确定图像特征库时,时根据原型页面来确定图像特征库的,其具体处理流程如下述:
[0116] 步骤一,接收用户在原型页面中输入的操作指令。
[0117] 用户可以在原型页面上点击操作Web页面对象。
[0118] 步骤二:获取原型页面中与操作指令对应的第二页面对象。
[0119] 首先,确定原型页面中与操作指令对应的位置的位置信息,和显示原型页面时屏幕的分辨率。
[0120] 其次,基于图像分割算法,根据位置信息和所述分辨率,获取原型页面中与所述操作指令对应的第二页面对象。
[0121] 其中,图像分割算法包含区域生长算法;
[0122] 基于图像分割算法,根据位置信息和所述分辨率,获取原型页面中与所述操作指令对应的第二页面对象,包括:
[0123] 首先,将位置信息记为像素坐标(X0,Y0)。
[0124] 其次,以像素坐标(X0,Y0)为中心,基于区域生长算法,获取原型页面中与操作指令对应的第二页面图像。
[0125] 再次,计算第二页面图像的质心坐标,计算质心坐标与像素坐标(X0,Y0)之间的相对偏移量。
[0126] 最后,将质心坐标、相对偏移量以及分辨率作为第二页面对象存储。
[0127] 步骤三:提取第二页面对象的第二图像特征;
[0128] 步骤四:存储原型页面与第二图像特征。
[0129] 具体地,首先,用户在原型页面上点击操作Web页面对象时,记录该页面对象的位置信息,该位置信息可以是x、y的像素坐标,记为(X0,Y0),以及当前屏幕分辨率。
[0130] 其次,定位位置信息之后,使用图像分割算法将第二对象在原型页面中分割出来,获取原型页面中与操作指令对应的第二页面图像。
[0131] 图像分割算法是图像识别和计算机视觉至关重要的预处理,常用的图像分割算方法有阈值分割、区域分割、边缘分割、直方图法等等。
[0132] 一种较佳地实施方式,本发明实施例提出的技术方案中,用户在原型页面中点击Web页面对象(即第二页面对象)时,记录了该第二页面对象的位置信息,因此采用区域分割中的区域生长方法将该第二页面对象分割出来。其中,区域生长算法是根据同一物体区域内像素的相似性质来聚集像素点的方法,从初始区域(例如用户点击该第二页面对象的位置)开始,将相邻的具有同样性质的像素或其他区域归并到目前的区域中从而逐步增长区域,直至没有可以归并的点或其他小的区域为止,区域内像素的相似性度量采用平均灰度值信息。
[0133] 其中,区域生长算法的实现步骤如下述:
[0134] A:确定记录的像素坐标(X0,Y0)。
[0135] 一种较佳地实施方式,该像素坐标可以是绝对坐标。
[0136] B:以像素坐标(X0,Y0)为中心,针对像素坐标(x0,y0)的4个邻域像素坐标(x,y),如果(x0,y0)满足生长准则,将邻域像素坐标(x,y)与(x0,y0)合并(在同一区域内),同时将邻域像素坐标(x,y)压入堆栈。
[0137] C:针对压入堆栈中的任一一个像素坐标,将该像素坐标作为像素坐标(X0,Y0),返回执行B。
[0138] D:返回循环执行B~C,直至堆栈中所有像素坐标的相邻像素坐标都不能合并,生长结束。
[0139] 再次,计算第二页面图像的质心坐标。
[0140] 具体地,区域生长算法将得到该第二页面图像f(x,y),对第二页面图像进行二值化后,计算第二页面图像的质心坐标:
[0141]
[0142] 其中,Cx是第二页面图像的质心坐标的横坐标,Cy第二页面图像的质心坐标的纵坐标,u0,0是第二页面图像的零阶矩,可以通过下述公式获得:
[0143]
[0144] 其中,w表示第二页面图像宽度,h表示第二页面图像高度。
[0145] u1,0,u0,1是第二页面图像一阶矩,可以通过下述公式获得:
[0146]
[0147]
[0148] 其中x,y是第二页面图像的横、纵坐标,f(x,y)是对第二页面图像进行二值化之后的(x,y)坐标点的灰度值。
[0149] 其中,w表示第二页面图像宽度,h表示第二页面图像高度。
[0150] 其次,将质心坐标、相对偏移量以及分辨率作为第二页面对象存储。
[0151] 在得到质心坐标时,根据得到的质心坐标,计算质心坐标与像素坐标(X0,Y0)之间的相对偏移量(Ox,Oy)。
[0152]
[0153]
[0154] 其中,(Ox,Oy)是相对偏移量,Cx是第二页面图像的质心坐标的横坐标,Cy第二页面图像的质心坐标的纵坐标。
[0155] 具体地,可以将得到的质心坐标、相对偏移量以及分辨率,和第二页面对象标识对应存储在图像特征库中。
[0156] 第二页面对象标识可以是原型页面标识。
[0157] 在确定图像特征库时,针对原型页面的图像特征进行提取,将提取的图像特征、得到的质心坐标、相对偏移量以及分辨率,和第二页面对象标识对应存储在图像特征库中。
[0158] 其中,对图像分类识别主要的方法是提取图像的特征,图像特征包括灰度、颜色、形状、纹理等等,特征提取是对图像所包含的信息进行处理和分析,将不易受随机因素干扰的信息作为该图像的特征提取出来。特征提取是去除冗余信息的过程,具有提高识别精度、减少运算量、提高运算速度等作用。
[0159] 一种较佳地实现方式,本发明实施例提出的技术方案中,采用颜色直方图法提取分割出的第二页面对象的颜色特征,并将提取到的颜色信息以及确定出的偏移量,存储到图像特征库中。
[0160] 颜色特征是在特征提取中应用较为广泛的视觉特征,它描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。与其他的视觉特征比,颜色特征对图像本身的尺寸、方向、视角的依赖性较小,从而具有较高的鲁棒性。颜色直方图能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例。颜色直方图可以基于不同的颜色空间和坐标系,本发明实施例提出的技术方案中,使用较为常用的RGB颜色空间,其中R、G、B分别为图像红、绿、蓝的亮度值,大小在0~255之间。RGB颜色直方图描述了出现了哪些颜色以及各种颜色出现的概率。其函数表达式如下:
[0161]
[0162] 其中,k代表第二图像的特征取值,L是特征可取值的个数,nk是图像中具有特征值为k的像素的个数,N是图像像素的总数。
[0163] 具体地,上述计算模块304,具体用于确定所述实际网页的质心坐标;获得实际页面的分辨率;根据存储的第二图像特征,和所述分辨率,计算所述实际网页的位置信息。
[0164] 首先,确定实际网页的质心坐标。
[0165] 根据图像特征库中匹配的第二图像特征,确定实际网页的质心坐标(C'x,C'y)。
[0166] 其次,获得实际页面的分辨率。
[0167] 再次,根据存储的第二图像特征,和分辨率,计算实际网页的位置信息。
[0168] 具体地,可以通过下述公式计算实际网页的位置信息:
[0169] Bx=C'x-Ox*实际页面X分辨率
[0170] By=C'y-Oy*实际页面Y分辨率
[0171] 其中,(Bx,By)是实际网页的坐标,(C'x,C'y)是实际网页的质心坐标,(Ox,Oy)是第二页面对象对应的质心坐标与像素坐标(X0,Y0)之间的相对偏移量。
[0172] 本发明实施例上述提出的技术方案中,当用户希望在自动化测试脚本中对某个Web页面对象进行操作时,只需要在脚本中调用自定义的查询函数即可,该查询函数以用户定义的页面对象名称为参数,在图像特征库的图像存储模块中进行查询,返回实际页面中对象的操作坐标,即实现了对实际页面对象的操作,从而达到降低用户抓取页面对象难度,提高自动化测试效率的目的。
[0173] 本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘、光学存储器等)上实施的计算机程序产品的形式。
[0174] 本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0175] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0176] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0177] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0178] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。