CN104516813B - 网络页面的测试节点的选取方法和装置 - Google Patents
网络页面的测试节点的选取方法和装置 Download PDFInfo
- Publication number
- CN104516813B CN104516813B CN201310452563.XA CN201310452563A CN104516813B CN 104516813 B CN104516813 B CN 104516813B CN 201310452563 A CN201310452563 A CN 201310452563A CN 104516813 B CN104516813 B CN 104516813B
- Authority
- CN
- China
- Prior art keywords
- node
- datum
- similar
- path
- child
- 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
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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种网络页面的测试节点的选取方法和装置,包括:基准节点模块获取网络页面的基准节点;路径模块获取所述基准节点在网络页面中的路径;查找模块在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点;提交模块提交所查找到的基准节点及其相似节点。利用本发明,可以提高选取测试节点的效率和准确率,降低维护成本。
Description
技术领域
本申请涉及计算机和互联网数据处理技术领域,尤其涉及一种网络页面的测试节点的选取方法和装置。
背景技术
目前业界出现了许多网络(Web)自动化测试技术,这些技术方案中,都可以操作Web中的控件,模拟用户的输入、点击等操作,实现Web自动化测试。其原理是通过调用浏览器的COM接口和超文本标记语言(HTML,Hypertext Markup Language)的文件对象模型(DOM,Document Object Model)对浏览器以及WEB测试对象进行测试操作。
在现有的自动化测试过程中,如果被测WEB页面存在多个类似样本,所述的样本即节点,则在自动化测试中为了获得多个测试样本,一般有以下两种技术方案:
第一种WEB自动测试方案,在WEB页面代码中相似的测试样本中注入相同的标签属性,以使得自动化测试程序可以识别这些相似的测试样本。图1为在WEB页面代码中的相似测试样本注入class标签属性的一种示意图。参见图1,对于相似的测试样本,在WEB页面中,测试样本也可以称为测试节点,图1中相似的测试节点为101和102,在这两个测试节点101和102中都注入了相同的标签属性class,这样自动化测试程序就可以根据这些class标签属性识别出相似的测试节点,从而进行后续的测试过程。当然所述标签属性不限于class,也可以是其它的标签属性。
第二种WEB自动测试方案,在WEB页面中使用可视化工具,使用鼠标逐个选择多个测试节点。图2为在WEB页面中使用可视化工具显示测试节点并人工选取的一种示意图。参见图2,采用可视化工具,可以将被测WEB页面的网络节点显示出来,然后由测试人员通过鼠标人工选择被测的相似的测试节点,如其中的“赞”按钮,选择完成后提交给自动测试程序,这样自动化测试程序就可以对这些相似的测试节点进行测试。
但是,上述现有技术存在以下缺点:
1)上述第一种方案和第二种方案都需要人工逐个给相似的测试节点打标签,或人工逐个选择相似的测试节点,当相似节点数量较多时,耗时耗力,效率低下。
2)由于是人工操作,因此很容易出现漏打标签或漏选情况,降低了测试的准确率。
3)维护成本高,如需修改基准节点,还需人工逐个修改相似节点。
4)当WEB页面中的相似节点是动态生成时,则使用第一种方案的打标签的方案,由于产生方式不确定,节点数量不可知,因此该方案无法正常使用,或施行起来成本很高;若使用第二种方案的逐个人工选择方案,因节点是动态生成,事先无法选择,因此该方案也无法正常使用。
发明内容
有鉴于此,本发明的主要目的是提供一种网络页面的测试节点的选取方法和装置,以提高选取测试节点的效率和准确率,降低维护成本。
本发明的技术方案是这样实现的:
一种网络页面的测试节点的选取方法,包括:
获取网络页面的基准节点;
获取所述基准节点在网络页面中的路径;
在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点;
提交所查找到的基准节点及其相似节点。
一种网络页面的测试节点的选取装置,包括:
基准节点模块,用于获取网络页面的基准节点;
路径模块,用于获取所述基准节点在网络页面中的路径;
查找模块,用于在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点;
提交模块,用于提交所查找到的基准节点及其相似节点。
与现有技术相比,本发明在选取网络页面的测试节点时,先获取网络页面的基准节点及其在网络页面中的路径,然后在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点,提交所查找到的基准节点及其相似节点,作为测试节点进行测试。本发明中,由于需要人工参与的步骤只是选取基准节点这一步,其它步骤都可以由程序根据基准节点自动完成,从而可以降低了人工操作的数量,提高了选取测试节点的效率,同时也避免了人工选取经常出错的缺点,对相似节点不会造成漏选,提高了选取测试节点的准确率;而且如果需要修改基准节点,也不必人工依次修改其相似节点,降低了维护成本;当网络页面是动态生成的时候,也只需选择一个基准节点就可以自动选取其相似节点,对于动态生成的网络页面非常适用。
附图说明
图1为在WEB页面代码中的相似测试样本注入class标签属性的一种示意图;
图2为在WEB页面中使用可视化工具显示测试节点并人工选取的一种示意图;
图3为本发明所述网络页面的测试节点的选取方法的一种流程图;
图4为一种网络页面中的节点的路径示意图;
图5为所述实施例中一网络页面的节点的路径示意图;
图6为本发明所述网络页面的测试节点的选取装置的一种实施例的组成示意图;
图7为所述查找模块的一种组成示意图;
图8为本发明所述网络页面的测试节点的选取装置的又一种实施例的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图3为本发明所述网络页面的测试节点的选取方法的一种流程图。参见图3,该流程包括:
步骤301、获取网络页面的基准节点。
所述基准节点就是由测试人员选取的一个节点,由该节点为基准,执行后续步骤,从而找出该基准节点的相似节点。所述相似节点的特征可以由测试人员进行定义,并可以以此设置后续步骤中的查找条件。例如在一种优选实施方式中,所述相似节点是指在网络页面中功能相似、位置相似的节点,其量化指标为:其路径中只有一个节点序号不同的节点,互为相似节点;也就是说该相似节点的路径中只有一个节点序号与所述基准节点路径中的节点序号不同。例如图2为中的所有的“赞”按钮都互为相似节点,所有的“+TA荣耀”按钮也都互为相似节点。
在一种优选实施例中,所述获取网络页面的基准节点可以使用现有的WEB自动化测试工具中的可视化选取工具进行选取,具体是用在浏览器中打开待测试的网络页面,启动WEB自动化测试工具中的可视化选取工具,例如可以展现出图2所述的网络页面,然后测试人员利用鼠标选取其中的一个节点作为基准节点,本发明在检测到用户对某节点的点击指令后或进一步检测到提交指令后,则判定获取了该网络页面的基准节点。
步骤302、获取所述基准节点在网络页面中的路径。
所述基准节点在网络页面中的路径,代表了该基准节点在网络页面中的层次结构和位置。如图4为一种网络页面中的节点的路径示意图。所述节点在网络页面中的路径通常采用XML路径语言(XPath,XML Path Language)或Finder路径或其它同等意义的表示方式来表示。
XPath是一种用来确定可扩展标记语言(XML,Extensible Markup Language)文档中某部分位置的语言。如“/html/body/div[2]/table[3]/tr[4]/td[5]”表示的是在body标签里的第2个div里的第3个table里的第4个tr里的第5个td标签,如图4阴影部分所示。
Finder路径是表示页面中某节点在整个页面中的JavaScript语言可识别的唯一路径,下面的示例使用了jQuery函数库。
其表示方法如:
“$("body").children("div").eq(1).children("table").eq(2).children("tr").eq(3).children("td").eq(4)”
也是表示在body标签里的第2个div里的第3个table里的第4个tr里的第5个td标签,如图4阴影部分所示。
步骤303、在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点。
在本步骤中,所述从所述基准节点开始,逐级向上层结构查找相似节点,具体包括:
A、将所述基准节点作为当前节点,执行如下步骤:
B、确定当前节点的父节点;
C、确定所述父节点的所有子节点,从所述所有子节点中去除当前节点所在的子节点,得到剩余子节点;
D、遍历所述剩余子节点,从中查找所述基准节点的相似节点;
E、判断该父节点是否为body节点,如果是则结束查找相似节点的流程;否则将所述父节点作为当前节点,返回步骤B。
查找所述基准节点的相似节点具体为:该相似节点的路径中只有一个节点序号与所述基准节点路径中的节点序号不同。
在一种优选实施例中,所述步骤D具体包括:遍历所述剩余子节点,针对每一个剩余节点,获取该剩余子节点的路径,比较该剩余子节点的路径与所述基准节点的路径,在该剩余子节点路径中只有一个节点序号与所述基准节点路径的节点序号不同时,判定该剩余子节点为所述基准节点的相似节点。
在另一种优选的实施例中,为了方便查找所述基准节点的相似节点,可以设置查找条件,将该查找条件的初始值设置为空;并且所述步骤D具体包括:遍历所述剩余子节点,从中查找与所述查找条件匹配的剩余节点,将所述匹配的剩余节点作为所述基准节点的相似节点;所述步骤E具体包括:若所述父节点不是body节点,则用所述基准节点路径减去所述父节点路径,得到差值路径,将所述查找条件设置为该差值路径,将所述父节点作为当前节点,返回步骤B。
步骤304、提交所查找到的基准节点及其相似节点。
在一种优选实施方式中,所提交的所述基准节点及其相似节点可以作为测试节点进行测试。
在另一种优选实施方式中,所提交的所述基准节点及其相似节点也可以作为候选测试节点展示给测试人员,供测试人员进一步进行筛选。具体的实施方案为:在所述提交所查找到的基准节点及其相似节点之后,进一步包括:展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,自动选择该基准节点的相似节点,或自动选择该相似节点的基准节点及该基准节点的其它相似节点。如图2所示,当用户选择其中一个“赞”按钮后,则当前网络页面中的其它所有的“赞”按钮也会被选中,这样可以做到选择一个基准节点或相似节点,程序就可以自动选择其所有的相似节点,从而实现智能选择相似节点的效果,无需手动指定。
另外,当在测试用例中有多个节点存在相似节点时(如a节点有相似节点a1,a2,a3;b节点有相似节点b1,b2,b3),并且测试用例中有以下两个要求:a、b节点的相似节点数量需相同;a、b两节点的相似节点需一一对应。a1需和b1匹配,a2和b2匹配。在此情况下,现有技术的第一种方案和现有技术的第二种方案匹配起来都将异常困难。
而在本发明中,为了解决上述匹配的问题,在一种优选实施方式中,所述获取的基准节点的数量也可以至少为两个,针对每一个基准节点都可以利用本发明的所述方法选取其相似节点,并且在所述提交所查找到的基准节点及其相似节点之后,该方法还可以进一步包括:展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,确定该基准节点或相似节点所在的页面单元,自动选择该页面单元中的其它基准节点或相似节点。例如图2所示,所述“赞”按钮是一个基准节点,所述“+TA荣耀”按钮也是一个基准节点,当用户选择中一个“赞”按钮201后,则该按钮201同一页面单元的“+TA荣耀”按钮202也会被自动选中,从而实现当被测网络页面中存在多组相似节点时,可以达到智能匹配出多个用例的效果。
另外,在进一步的优选实施方式中,本发明还可以进一步包括:按照所述基准节点的路径记录层级,并记录每一层级对应的所述基准节点的相似节点。这样可以将相似节点按照层级进行分组,方便测试人员实施分组分类的测试用例。
综上所述,本发明可以实现智能查找相似节点,只需使用自动化测试***选择一个基准节点就可以查找到所有的相似节点,无漏选,效率高,精确度也高;而且可以对于多组相似节点进行智能的一一匹配,无需手动指定;同时由于本发明可以由程序按照所述步骤自动执行,当网络页面是动态生成的时候,也只需选择一个基准节点就可以全量选取其相似节点,对于动态生成的网络页面非常适用;另外,本发明的维护成本也很低,如需修改基准节点,相似节点自动替换,无益逐个修改。并且,本发明可以在选取相似节点后展现给测试人员进行二次选择,可以实现可视化操作,操作简单,判断明确。
下面以一个更为具体的实施例,进一步说明本发明所述的技术方案。
图5为所述实施例中一网络页面的节点的路径示意图。参见图5,
1)假设选取的基准节点为节点502。其html结构特征为:在body里的第1个div里的第1个ul里的第1个li里的第2个span,将其路径用XPath描述为:/html/body/div[1]/ul[1]/li[1]/a[1]/span[2]。
所述基准节点的相似节点具体为:该相似节点的路径中只有一个节点序号与所述基准节点路径中的节点序号不同,那么按照这个要求,所述基准节点的各个层级的相似节点如下:
2)所述基准节点502的第一层的相似节点是节点501和节点503,其XPath分别为:
节点501:/html/body/div[1]/ul[1]/li[1]/a[1]/span[1]
节点503:/html/body/div[1]/ul[1]/li[1]/a[1]/span[3]
3)所述基准节点502的第二层的相似节点是节点505,其XPath分别为:
节点505:/html/body/div[1]/ul[1]/li[1]/a[2]span[2]
4)所述基准节点502的第三层的相似节点是节点508,其XPath分别为:
节点508:/html/body/div[1]/ul[1]/li[2]/a[1]/span[2]
5)所述基准节点502的第四层的相似节点是节点512,其XPath分别为:
节点512:/html/body/div[1]/ul[3]/li[1]/a[1]/span[2]
6)所述基准节点502的第五层的相似节点是节点517和节点519,其XPath分别为:
节点517:/html/body/div[3]/ul[1]/li[1]/a[1]/span[2]
节点519:/html/body/div[4]/ul[1]/li[1]/a[1]/span[2]
下面详细介绍利用本发明的方法选取所述基准节点502的各层级的相似节点的具体步骤:
步骤601、在浏览器中打开项目页面,启动可视化Web自动化测试工具。
步骤602、使用可视化选取工具从网络页面中选取基准节点,例如此处为选取了节点502。
步骤603、获取所述基准节点在网络页面中的层级结构,例如利用JavaScript计算出基准节点的路径,例如此处是XPath路径,并保存为变量为XPATH,设置当前节点的路径为xpath,且xpath=XPATH,其中所述基准节点的路径如下:
Var XPATH=:/html/body/div[1]/ul[1]/li[1]/a[1]/span[2]
步骤604、设查找条件为空,并以变量seach表示;设层级数为1,并以变量level表示,如下:
var seach=‘’;
var level=1;
步骤605、获取xpath的节点类型,并保存为变量tagName,如下:
var tagName=span;
步骤606、获取tagName在xpath中的顺序,并保存为变量为index,如此处为:
var index=2;
步骤607、获取xpath的父节点的路径为parent,如下:
var parent=:/html/body/div[1]/ul[1]/li[1]/a[1];
步骤608、获取parent所有的tagName子节点,并去除第index个子节点,得数组nodeList,如下:
var nodeList={span[1],span[3]};
步骤609、对该nodeList的所有节点进行循环遍历,判断每个节点中是否包括匹配seach的相应节点,如果可以找到匹配的节点,则该节点是基准节点的第level层的相似节点。如果seach为空则可不查找,默认该nodeList的所有节点都是基准节点的相似节点。
例如在此时seach为空,找到的与基准节点相似的第一层的相似节点为节点501和节点503。其XPath路径分别为:
节点501:/html/body/div[1]/ul[1]/li[1]/a[1]/span[1]
节点503:/html/body/div[1]/ul[1]/li[1]/a[1]/span[3]
步骤6010、将所有的第level层相似节点存储到二维数组similarity[level]中,即可以用二维数组的形式表示基准节点在第level层具有的相似节点。
步骤6011、用基准节点的路径XPATH减去所述父节点路径parent,将差值路径设为新的查询条件seach,再把当前的父节点路径parent设为新的xpath,level自增1,如下:
seach=XPATH–parent
=/span[2];
xpath=parent;
level++;
步骤6012、返回步骤605,直到tagName为body为止。
下面再以第二层相似节点的查找过程为例,说明在返回步骤605后,相似节点的查找过程,其它层级的相似节点的查找过程以此类推。
接上述步骤6012,在返回步骤605时,所述:
seach=XPATH–parent
=/span[2];
xpath=parent=:/html/body/div[1]/ul[1]/li[1]/a[1];
level=2;
那么第二层相似节点的查找过程如下:
步骤605、获取xpath的节点类型,并保存为变量tagName,如下:
var tagName=a;
步骤606、获取tagName在xpath中的顺序,并保存为变量为index,如此处为:
var index=1;
步骤607、获取xpath的父节点的路径为parent,如下:
var parent=:/html/body/div[1]/ul[1]/li[1];
步骤608、获取parent所有的tagName子节点,并去除第index个子节点,得数组nodeList,如下:
var nodeList={a[2],a[3]};
步骤609、对该nodeList的所有节点进行循环遍历,判断每个节点中是否包括匹配seach的相应节点,如果可以找到匹配的节点,则该节点是基准节点的第level层的相似节点。
例如在此时seach=/span[2],找到的与基准节点相似的第二层相似节点为节点505,其XPath路径路径为:/html/body/div[1]/ul[1]/li[1]/a[2]span[2]。
步骤6010、将所有的第level层相似节点(即所述节点505)存储到二维数组similarity[level]中,即可以用二维数组的形式表示基准节点在第level层具有的相似节点,这样可以将相似节点按照层级进行分组,方便测试人员实施分组分类的测试用例。
步骤6011、用基准节点的路径XPATH减去所述父节点路径parent,将差值路径设为新的查询条件seach,再把当前的父节点路径parent设为新的xpath,level自增1,如下:
seach=XPATH–parent
=a[1]/span[2];
xpath=parent=:/html/body/div[1]/ul[1]/li[1]
level=3;
步骤6012、返回步骤605,查找基准节点的第三层相似节点,直到tagName为body为止。
那么利用上述步骤605至步骤6012的方法,可以一次查找基准节点502的第三层、第四层、第五层的相似节点节点,直到tagName为body为止。至此,找到了基准节点502各层的所有相似节点,即节点501、503、505、508、512、517、519。
最后可以将这些相似节点输出给自动测试程序,从而完成对所述网络页面的测试。
与上述方法对应,本发明还公开了一种网络页面的测试节点的选取装置,用于执行上述方法。图6为本发明所述网络页面的测试节点的选取装置的一种实施例的组成示意图。参见图6,该选取装置具体包括:
基准节点模块621,用于获取网络页面的基准节点。
路径模块622,用于获取所述基准节点在网络页面中的路径。
查找模块623,用于在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点。优选的,所述基准节点的相似节点具体为:路径中只有一个节点序号与所述基准节点路径中的节点序号不同的节点。
提交模块624,用于提交所查找到的基准节点及其相似节点。
图7为所述查找模块的一种组成示意图。参见图7,所述查找模块623具体包括:
第一单元701,用于将所述基准节点作为当前节点;
第二单元702,用于确定当前节点的父节点;
第三单元703,用于确定所述父节点的所有子节点,从所述所有子节点中去除当前节点所在的子节点,得到剩余子节点;
第四单元704,用于遍历所述剩余子节点,从中查找所述基准节点的相似节点;
第五单元705,用于判断该父节点是否为body节点,如果是则结束;否则将所述父节点作为当前节点,返回第二单元。
其中,所述第四单元704具体用于:
遍历所述剩余子节点,针对每一个剩余节点,获取该剩余子节点的路径,比较该剩余子节点的路径与所述基准节点的路径,在该剩余子节点路径中只有一个节点序号与所述基准节点路径的节点序号不同时,判定该剩余子节点为所述基准节点的相似节点。
在另一种具体实施方式中,该查找模块623还可以进一步包括查找条件单元700,用于设置查找条件,该查找条件的初始值为空;
所述第四单元704具体用于:遍历所述剩余子节点,从中查找与所述查找条件匹配的剩余节点,将所述匹配的剩余节点作为所述基准节点的相似节点;
所述第五单元705具体用于:若所述父节点不是body节点,则用所述基准节点路径减去所述父节点路径,得到差值路径,将所述查找条件设置为该差值路径,将所述父节点作为当前节点,返回第二单元702。
图8为本发明所述网络页面的测试节点的选取装置的又一种组成示意图。参见图8,该实施例除了图6所示的模块,还进一步包括层级记录模块625,用于按照所述基准节点的路径记录层级,并记录每一层级对应的所述基准节点的相似节点。
该装置在所述提交模块624之后,进一步包括第一筛选模块626,用于展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,自动选择该基准节点的相似节点,或自动选择该相似节点的基准节点及该基准节点的其它相似节点。
该装置在所述提交模块624之后,还可以进一步包括第二筛选模块627,用于展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,确定该基准节点或相似节点所在的页面单元,自动选择该页面单元中的其它基准节点或相似节点。
本发明所述选取装置可以同时包括所述第一筛选模块626和第二筛选模块627,也可以只包括其一。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种网络页面的测试节点的选取方法,其特征在于,包括:
获取网络页面的基准节点;
获取所述基准节点在网络页面中的路径;
在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点;
提交所查找到的基准节点及其相似节点;
其中,所述从所述基准节点开始,逐级向上层结构查找相似节点,具体包括:
A、将所述基准节点作为当前节点,执行如下步骤:
B、确定当前节点的父节点;
C、确定所述父节点的所有子节点,从所述所有子节点中去除当前节点所在的子节点,得到剩余子节点;
D、遍历所述剩余子节点,从中查找所述基准节点的相似节点;
E、判断该父节点是否为body节点,如果是则结束查找相似节点的流程;否则将所述父节点作为当前节点,返回步骤B。
2.根据权利要求1所述的方法,其特征在于,所述步骤D具体包括:
遍历所述剩余子节点,针对每一个剩余节点,获取该剩余子节点的路径,比较该剩余子节点的路径与所述基准节点的路径,在该剩余子节点路径中只有一个节点序号与所述基准节点路径的节点序号不同时,判定该剩余子节点为所述基准节点的相似节点。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括设置查找条件,将该查找条件的初始值设置为空;
所述步骤D具体包括:遍历所述剩余子节点,从中查找与所述查找条件匹配的剩余节点,将所述匹配的剩余节点作为所述基准节点的相似节点;
所述步骤E具体包括:若所述父节点不是body节点,则用所述基准节点路径减去父节点路径,得到差值路径,将所述查找条件设置为该差值路径,将所述父节点作为当前节点,返回步骤B。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
按照所述基准节点的路径记录层级,并记录每一层级对应的所述基准节点的相似节点。
5.根据权利要求1所述的方法,其特征在于,在所述提交所查找到的基准节点及其相似节点之后,该方法进一步包括:展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,自动选择该基准节点的相似节点,或自动选择该相似节点的基准节点及该基准节点的其它相似节点。
6.根据权利要求1所述的方法,其特征在于,
所述获取的基准节点的数量至少为两个;
在所述提交所查找到的基准节点及其相似节点之后,该方法进一步包括:展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,确定该基准节点或相似节点所在的页面单元,自动选择该页面单元中的其它基准节点或相似节点。
7.根据权利要求1至6任一项所述的方法,其特征在于,查找所述基准节点的相似节点具体为:该相似节点的路径中只有一个节点序号与所述基准节点路径中的节点序号不同。
8.一种网络页面的测试节点的选取装置,其特征在于,包括:
基准节点模块,用于获取网络页面的基准节点;
路径模块,用于获取所述基准节点在网络页面中的路径;
查找模块,用于在所述网络页面中,从所述基准节点开始,按照所述基准节点的路径的层级,逐级查找所述基准节点的相似节点;
提交模块,用于提交所查找到的基准节点及其相似节点;
其中,所述查找模块具体包括:
第一单元,用于将所述基准节点作为当前节点;
第二单元,用于确定当前节点的父节点;
第三单元,用于确定所述父节点的所有子节点,从所述所有子节点中去除当前节点所在的子节点,得到剩余子节点;
第四单元,用于遍历所述剩余子节点,从中查找所述基准节点的相似节点;
第五单元,用于判断该父节点是否为body节点,如果是则结束;否则将所述父节点作为当前节点,返回第二单元。
9.根据权利要求8所述的装置,其特征在于,所述第四单元具体用于:
遍历所述剩余子节点,针对每一个剩余节点,获取该剩余子节点的路径,比较该剩余子节点的路径与所述基准节点的路径,在该剩余子节点路径中只有一个节点序号与所述基准节点路径的节点序号不同时,判定该剩余子节点为所述基准节点的相似节点。
10.根据权利要求8所述的装置,其特征在于,该查找模块进一步包括查找条件单元,用于设置查找条件,该查找条件的初始值为空;
所述第四单元具体用于:遍历所述剩余子节点,从中查找与所述查找条件匹配的剩余节点,将所述匹配的剩余节点作为所述基准节点的相似节点;
所述第五单元具体用于:若所述父节点不是body节点,则用所述基准节点路径减去父节点路径,得到差值路径,将所述查找条件设置为该差值路径,将所述父节点作为当前节点,返回第二单元。
11.根据权利要求8所述的装置,其特征在于,该装置进一步包括层级记录模块,用于按照所述基准节点的路径记录层级,并记录每一层级对应的所述基准节点的相似节点。
12.根据权利要求8所述的装置,其特征在于,该装置在所述提交模块之后,进一步包括第一筛选模块,用于展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,自动选择该基准节点的相似节点,或自动选择该相似节点的基准节点及该基准节点的其它相似节点。
13.根据权利要求8所述的装置,其特征在于,该装置在所述提交模块之后,进一步包括第二筛选模块,用于展示所述基准节点及其相似节点,在接收到对某一基准节点或相似节点的选择指令后,确定该基准节点或相似节点所在的页面单元,自动选择该页面单元中的其它基准节点或相似节点。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述基准节点的相似节点具体为:路径中只有一个节点序号与所述基准节点路径中的节点序号不同的节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452563.XA CN104516813B (zh) | 2013-09-26 | 2013-09-26 | 网络页面的测试节点的选取方法和装置 |
PCT/CN2014/085252 WO2015043352A1 (en) | 2013-09-26 | 2014-08-27 | Method and apparatus for selecting test nodes on webpages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452563.XA CN104516813B (zh) | 2013-09-26 | 2013-09-26 | 网络页面的测试节点的选取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104516813A CN104516813A (zh) | 2015-04-15 |
CN104516813B true CN104516813B (zh) | 2018-07-27 |
Family
ID=52742012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310452563.XA Active CN104516813B (zh) | 2013-09-26 | 2013-09-26 | 网络页面的测试节点的选取方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104516813B (zh) |
WO (1) | WO2015043352A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814957B (zh) * | 2017-11-20 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 一种用于ios***的标签添加方法和装置 |
CN108845925B (zh) * | 2018-03-30 | 2022-02-11 | 新华三技术有限公司 | web页面测试方法、装置、电子设备及计算机可读介质 |
CN110554950B (zh) * | 2018-05-30 | 2024-02-02 | 广州腾讯科技有限公司 | 一种界面调试方法、装置及存储介质 |
CN112527621A (zh) * | 2019-09-17 | 2021-03-19 | 中移动信息技术有限公司 | 测试路径构建方法、装置、设备及存储介质 |
CN111488544B (zh) * | 2020-03-31 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 网页相似子元素的确定方法、装置、设备和存储介质 |
CN111966600B (zh) * | 2020-08-31 | 2023-08-04 | 平安健康保险股份有限公司 | 网页测试方法、装置、计算机设备及计算机可读存储介质 |
CN115543927B (zh) * | 2022-10-31 | 2023-06-30 | 永道工程咨询有限公司 | 造价文件的字段信息提取方法及装置、设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268226A (zh) * | 2013-05-17 | 2013-08-28 | 瑞斯康达科技发展股份有限公司 | 一种测试脚本文件生成方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804634B1 (en) * | 2000-02-17 | 2004-10-12 | Lucent Technologies Inc. | Automatic generation and regeneration of a covering test case set from a model |
CN101593184B (zh) * | 2008-05-29 | 2013-05-15 | 国际商业机器公司 | 自适应地定位动态网页元素的***和方法 |
US8387018B2 (en) * | 2010-09-01 | 2013-02-26 | International Business Machines Corporation | Fault localization using directed test generation |
US9104810B2 (en) * | 2011-03-08 | 2015-08-11 | Hewlett-Packard Development Company, L.P. | Creating a test case |
-
2013
- 2013-09-26 CN CN201310452563.XA patent/CN104516813B/zh active Active
-
2014
- 2014-08-27 WO PCT/CN2014/085252 patent/WO2015043352A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268226A (zh) * | 2013-05-17 | 2013-08-28 | 瑞斯康达科技发展股份有限公司 | 一种测试脚本文件生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于HTML树的网页结构相似度研究;宋明秋等;《情报学报》;20110228;第30卷(第2期);第161-165页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104516813A (zh) | 2015-04-15 |
WO2015043352A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104516813B (zh) | 网络页面的测试节点的选取方法和装置 | |
CN102831121B (zh) | 一种网页信息抽取的方法和*** | |
CN101118515B (zh) | 一种表单的自动测试方法及装置 | |
CN102890681B (zh) | 一种生成网页结构模板的方法及*** | |
CN103748584B (zh) | 网页中的项目列表的自动检测 | |
US9760347B2 (en) | Method and system to identify GUI objects for non-markup-language-presented applications | |
CN108459967B (zh) | 基于用户接口状态流图的Web应用测试用例生成方法 | |
CN102521121A (zh) | 一种页面测试方法和页面测试装置 | |
CN109144882A (zh) | 一种基于程序不变量的软件故障定位方法及装置 | |
US20070204215A1 (en) | Device for analyzing log files generated by process automation tools | |
CN104699613B (zh) | 一种航天器测试需求自动生成***及其方法 | |
CN105279089B (zh) | 一种获取页面元素的方法及装置 | |
CN110188165A (zh) | 合同模板获取方法、装置、存储介质和计算机设备 | |
CN107194007A (zh) | 一种航天器异构测试数据集成管理*** | |
CN103488560A (zh) | 一种用于网页测试的测试目标处理方法和装置 | |
CN116680162A (zh) | 一种测试用例复用方法、装置、介质、设备及产品 | |
CN106126416A (zh) | 一种基于流程编排的服务组合路径推导方法 | |
CN104462461B (zh) | 对表单进行排查空值处理的方法及装置 | |
CN103593429B (zh) | 一种检测商品模板失效的方法及装置 | |
CN112860581A (zh) | 一种测试用例的执行方法、装置、设备及存储介质 | |
CN107741905B (zh) | 测试用例及其解析模型、执行方法、存储介质和处理器 | |
CN113051874B (zh) | 一种用户行为数据渲染方法和装置 | |
CN112579456A (zh) | 一种Web自动化测试方法及装置 | |
Furche et al. | Amber: Automatic supervision for multi-attribute extraction | |
CN110286882B (zh) | 一种基于模型检测的前台***设计与验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |