针对集合类元素的页面测试方法和装置的制造方法
【技术领域】
[0001]本申请涉及互联网测试领域,更具体地涉及页面自动化测试技术,尤其涉及针对网页页面内集合类元素的页面测试方法和装置。
【背景技术】
[0002]随着网络技术的不断发展,在互联网的页面测试中,使用自动化脚本进行网站的页面自动化测试已经成为主流趋势。
[0003]网页页面上的元素可以分为两类:一类是有确定的唯一标识的元素,如图1 (a)所示的Search按钮;另一类是没有唯一标识的元素,其是包含一个或多个子元素的集合类元素,如图1 (b)所示的Wholesale Checkout集合,其中包含多个子元素例如7inch TabletPC、Long-Sleeve WomenJ s、7200mAh Power Bank、Genie Bra with Pads。
[0004]通常,由于第一类元素具有唯一标识,所以能够精确定位到它,从而自动化脚本测试对于第一类元素而言非常有效。然而,对于集合类元素,由于其没有唯一标识,因而无法精确定位到其中的每个子元素;并且由于集合类元素中子元素的值随着时间的变化或者搜索条件的变化而不断变化,使得采用针对每个子元素来写具体的脚本存在巨大的维护成本。
[0005]因此需求一种改进的针对集合类元素的页面测试技术,以克服上述现有技术中的问题。
【发明内容】
[0006]本申请发明人注意到,目前针对集合类元素的自动化测试技术总是试图采用唯一标识的方法来针对集合类元素中的每个子元素编写具体脚本,以对这些子元素分别进行测试。如前面提及的,集合类元素中的子元素组合会不断变化,因而会导致针对各子元素编写的脚本在重复使用性上较差,并且维护成本较高。
[0007]为此,本申请发明人提出一种新的针对集合类元素的页面测试技术,其中对于集合类元素中的各子元素的测试,采用整体定位的方法来进行。由此解决现有技术中由于集合类元素中的子元素组合经常变化而导致的自动化测试脚本的生成和维护难题。
[0008]具体而言,根据本申请实施例的一个方面,提供一种针对集合类元素的页面测试方法,其特征在于,包括:识别待测试页面中的包含一个或多个子元素的集合类元素;检查集合类元素中的各子元素是否符合集合类元素的集合属性;以及输出检查的结果。
[0009]根据本申请实施例的另一个方面,还提供一种针对集合类元素的页面测试装置,其特征在于,包括:识别模块,用于识别待测试页面中的包含一个或多个子元素的集合类元素;检查模块,用于检查集合类元素中的各子元素是否符合集合类元素的集合属性;以及输出模块,用于输出检查的结果。
[0010]与现有技术相比,根据本申请的技术方案,能够对集合类元素中的各子元素进行整体测试和验证,克服了现有技术中脚本生成和维护的两大难题,实现了对集合类元素的更有效的自动化检查。
【附图说明】
[0011]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0012]图1 (a)和图1 (b)是用于示意性说明网页页面上的元素类型的截屏;
[0013]图2是根据本申请一个实施例的针对集合类元素的页面测试方法的流程图;
[0014]图3是根据本申请另一个实施例的针对集合类元素的页面测试方法的流程图;以及
[0015]图4是根据本申请一个实施例的针对集合类元素的页面测试装置的示意性结构框图。
【具体实施方式】
[0016]本申请的主要思想就在于,整体定位集合类元素中的各子元素,检查该集合类元素的各子元素是否符合该集合的集合属性(特定要求或共同属性),来对集合类元素中的各子元素进行整体验证,从而完成对该集合类元素的自动化测试。
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]参照图2,图2示出了根据本申请一个实施例的针对集合类元素的页面测试方法的流程图。
[0019]如图2所示,在步骤S210处,识别待测试页面中的包含一个或多个子元素的集合类元素。
[0020]本申请的方法主要是针对网页页面中的集合类元素进行自动化测试。具体而言,根据本申请的实施例,可以通过遍历待测试页面的文档对象模型(DOM, Document ObjectModel)结构,识别出待测试的其中包括一个或多个子元素的元素,即集合类元素。
[0021]在步骤S220处,检查集合类元素中的各子元素是否符合集合类元素的集合属性。
[0022]如上面提及的,本申请的主要思想就在于,对集合类元素中的各子元素进行整体测试和验证。具体而言,检查各子元素是否具备集合类元素的集合属性,即在该集合内的子元素应具备的共同属性。
[0023]根据本申请的实施例,同样可以通过查看页面DOM结构,完成上述集合属性的检查。
[0024]根据本申请的实施例,上述共同属性例如可以包括各子元素的表现形式、合法性、绑定事件属性、链接属性等等。应理解到,该共同属性还可以包括针对该集合中的各子元素自定义或定制化的其它属性,例如特定样式、特定事件要求、特定数值要求等等。稍后将结合图2对此进行详细描述。
[0025]在步骤S230处,输出测试结果。
[0026]具体而言,如果在步骤S220处检查出各子元素符合集合类元素的集合属性,则可以判定该集合类元素中的各子元素测试通过。在此情况下,在步骤S230处可以输出表明测试通过/成功的结果。
[0027]如果在步骤S220处检查出集合类元素中的一个或多个子元素不符合集合属性,则可以判定该一个或多个子元素测试失败。在此情况下,在步骤S230处可以输出表明这些子元素测试失败的结果。
[0028]根据本申请的实施例,可以只针对有问题的子元素返回结果,而对于各子元素均没有问题的情况可以默认不返回结果。
[0029]通过上述自动化测试方法,就可以自动识别出集合类元素中有问题的子元素。其中针对集合类元素编写自动化测试脚本,该脚本适用于对该集合类元素中的所有子元素的测试,而不管该集合类元素中的子元素组合如何变化。因此相对于现有技术而言,可以减少脚本生成和维护成本,更高效地实现对各子元素的自动化检查。
[0030]下面结合图3描述根据本申请另一实施例的针对集合类元素的页面测试方法的流程图。其中更详细地描述了检查集合类元素中的各子元素是否符合集合属性的示例性过程。
[0031]如图3所示,在步骤S310处,识别待测试页面中的包括一个或多个子元素的集合类元素。该步骤S310的处理与步骤S210的处理类似,这里不再赘述。
[0032]在识别出集合类元素之后,可以在步骤S320-S360中对其中包含的各子元素进行整体测试