网页产品的开发测试系统、测试方法及装置转让专利

申请号 : CN201210133936.2

文献号 : CN103377127B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周永丰郑昌丘黎河军周妍黄杨

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种网页产品的开发测试系统、测试方法及装置,根据本申请实施例的技术方案,通过内嵌在网页产品中的测试框架接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,能够将对网页产品的测试工作和开发工作融合在同一资源平台下,能够加快测试工作的进度、缩短测试工作的周期;并且开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,能够降低测试工作的繁杂程度、提高测试工作的效率;从而能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。

权利要求 :

1.一种网页产品的开发测试系统,包括:开发框架,其特征在于,还包括:内嵌在所述网页产品中的测试框架、分流装置;

所述分流装置,用于对用户的请求进行识别,在识别所述请求中包括所述测试框架在所述网页产品的主域名下预先分配的地址时,将所述请求发往所述测试框架,在识别所述请求中包括所述开发框架在所述网页产品的主域名下预先分配的地址时,将所述请求发往所述开发框架;

所述测试框架,用于在接收到来自所述分流装置的请求时得以触发,接收并存储用户针对所述网页产品的待测网页中的页面元素输入的测试用例;其中,所述测试用例包括对页面元素执行的测试操作;根据被选测试用例、以及所述被选测试用例所针对的页面元素的标识,在所述网页产品中定位该页面元素的标识对应的页面元素;其中,所述被选测试用例为用户在所存储的测试用例中选择的测试用例;对定位得到的页面元素执行所述被选测试用例中指示的测试操作,得到测试结果。

2.根据权利要求1所述的系统,其特征在于,所述分流装置,还用于:

在识别所述请求中包括所述测试框架在所述网页产品的主域名下预先分配的地址时,判断线下测试环境为打开状态、且所述用户为合法用户的情况下,将所述请求发往所述测试框架。

3.一种网页产品的测试方法,其特征在于,包括:

在用户访问为测试框架在网页产品的主域名下预先分配的地址时,触发内嵌在所述网页产品中的所述测试框架;

触发后的所述测试框架接收并存储用户针对所述网页产品的待测网页中的页面元素输入的测试用例;其中,所述测试用例包括对页面元素执行的测试操作;

根据被选测试用例、以及所述被选测试用例所针对的页面元素的标识,在所述网页产品中定位该页面元素的标识对应的页面元素,对定位得到的页面元素执行所述被选测试用例中指示的测试操作,得到测试结果;其中,所述被选测试用例为用户在所存储的测试用例中选择的测试用例。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

所述测试框架在被触发后,在所述网页产品中读取所述待测网页,显示读取的所述待测网页的标识、以及所述待测网页的页面元素的标识;

接收并存储用户针对所述网页产品的待测网页中的页面元素输入的测试用例,具体包括:针对用户在所显示出来的所述待测网页的标识选择的待测页面的标识及待测页面中的页面元素的标识,接收并存储用户输入的测试用例,将用户选择的待测网页的标识、待测网页中的页面元素的标识、以及输入的测试用例构建为测试文件。

5.根据权利要求4所述的方法,其特征在于,根据用户在所存储的测试用例中选择的测试用例、以及所述被选测试用例所针对的页面元素的标识,在所述网页产品中定位该页面元素的标识对应的页面元素,具体包括:根据用户在所存储的测试用例中选择的测试用例,确定包括该被选测试用例的测试文件,在确定的测试文件中查找该被选测试用例所针对的待测网页的标识,读取查找到的待测网页的标识对应的待测网页,并根据确定得到的测试文件中的页面元素标识,在读取的待测网页中定位所述页面元素标识对应的页面元素。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

在对定位得到的页面元素执行测试操作之前,在读取到的待测网页上包括登录任务的情况下,调用预设的超文本传输协议HTTP请求进行登录,该预设的HTTP请求中包括预定的登录信息。

7.根据权利要求4所述的方法,其特征在于,所述测试操作的类型包括:对页面元素进行点击、对页面元素进行取值、对页面元素进行赋值;所述测试操作的类型为赋值的情况下,所述测试用例还包括用户输入的与赋值操作相对应的测试数据;

对定位得到的页面元素执行所述被选测试用例中指示的测试操作,具备包括:

在所述被选测试用例中包括的测试操作为对页面元素进行点击的情况下,点击定位得到的页面元素;

在所述被选测试用例中包括的测试操作为对页面元素进行取值的情况下,读取定位得到的页面元素的属性值;

在所述被选测试用例中包括的测试操作为对页面元素进行赋值的情况下,将与赋值操作相对应的测试数据赋予定位得到的页面元素。

8.根据权利要求7所述的方法,其特征在于,存储用户针对所述网页产品的待测网页中的页面元素输入的测试用例,还包括:将用户输入的与赋值操作相对应的测试数据存储为测试数据文件,并建立赋值操作的测试文件和与赋值操作相对应的测试数据文件之间的赋值数据对应关系;

将与赋值操作相对应的测试数据赋予定位得到的页面元素,具体包括:根据建立的赋值数据对应关系,读取与赋值操作相对应的测试数据文件中的测试数据,将读取的测试数据赋予定位得到的页面元素。

9.根据权利要求7所述的方法,其特征在于,所述方法还包括:

将用户针对同一个页面元素选择的不同测试操作类型的多个测试用例,按照测试操作的类型归并为不同的测试任务,每个测试任务中包括相同测试操作类型的测试用例;

按照归并得到的测试任务的类别,对定位得到的所述同一个页面元素依次执行每个测试任务中包括的测试用例。

10.根据权利要求7所述的方法,其特征在于,所述方法还包括:

对于用户针对同一个页面元素选择的多个测试用例,以列表的形式显示每个测试用例中包括的内容;

接收并存储用户对所显示的测试用例中的内容的修改。

11.根据权利要求3所述的方法,其特征在于,所述测试用例中还包括:对页面元素的测试期望值;

所述方法还包括:将得到的测试结果与所述被选测试用例中的测试期望值相对比,在得到的测试结果与该测试期望值一致时,测试成功,否则,测试失败,结束后续的测试操作,将测试失败的测试用例提交给远程Bug管理系统。

12.一种网页产品的测试装置,其特征在于,所述测试装置内嵌于网页产品中,并具有在所述网页产品的主域名下预先分配的地址,所述测试装置包括:测试用例管理单元,用于接收并存储用户针对所述网页产品的待测网页中的页面元素输入的测试用例;其中,所述测试用例包括对页面元素执行的测试操作;

对象管理单元,用于根据被选测试用例、以及所述被选测试用例所针对的页面元素的标识,在所述网页产品中定位该页面元素的标识对应的页面元素;其中,所述被选测试用例为用户在所述测试用例管理单元所存储的测试用例中选择的测试用例;

测试执行单元,用于对所述对象管理单元定位得到的页面元素执行所述被选测试用例中指示的测试操作,得到测试结果。

说明书 :

网页产品的开发测试系统、测试方法及装置

技术领域

[0001] 本申请涉及网络技术,具体地,涉及一种网页产品的开发测试系统、测试方法及装置。

背景技术

[0002] 目前,在网站开发的过程中,对开发成果进行测试是必不可少的环节。测试工作需要针对开发出来的产品编写测试代码和测试用例,并在专门部署的测试服务器上,运行测试代码和测试用例以检测开发出来的产品是否满足特定的需求。
[0003] 但是,目前随着网站架构体系的日益复杂,测试周期在不断地拉长、测试成本不断的增大,测试效率不断降低。测试工作中对于新产品需要部署新的测试环境,这样不仅加大了硬件成本,还使测试工作变得繁琐,加大了测试的复杂度、降低了测试的效率。对于架构复杂且庞大的产品,测试代码和测试用例的编写工作也相应地复杂和繁琐,对于不断开发出来的新产品,需要不断地编写新的测试代码和测试用例,这样就拉长了测试周期、降低了测试效率。从而,在目前的开发测试环境下,测试工作的进度落后、成本攀升、效率低下,远远不能满足开发工作的需求。
[0004] 可见,在现有技术中存在对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。

发明内容

[0005] 有鉴于此,本申请实施例提供了一种网页产品的开发测试系统,用以解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0006] 相应的,本申请实施例还提供了一种网页产品的测试方法和装置。
[0007] 本申请实施例包括如下技术方案:
[0008] 一种网页产品的开发测试系统,包括:开发框架,还包括:内嵌在网页产品中的测试框架、分流装置;分流装置,用于对用户的请求进行识别,在识别请求中包括测试框架在网页产品的主域名下预先分配的地址时,将请求发往测试框架,在识别请求中包括开发框架在网页产品的主域名下预先分配的地址时,将请求发往开发框架;测试框架,用于在接收到来上述自分流装置的请求时得以触发,接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;根据用户在所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素的标识,在网页产品中定位该页面元素的标识对应的页面元素;对定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0009] 一种网页产品的测试方法,包括:在用户访问为测试框架在网页产品的主域名下预先分配的地址时,触发内嵌在网页产品中的测试框架;触发后的测试框架接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;根据用户在所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素的标识,在网页产品中定位该页面元素的标识对应的页面元素,对定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0010] 一种网页产品的测试装置,测试装置内嵌于网页产品中,并具有在网页产品的主域名下预先分配的地址,该测试装置包括:测试用例管理单元,用于接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;对象管理单元,用于根据用户在测试用例管理单元所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素标识,在网页产品中定位该页面元素的标识对应的页面元素;测试执行单元,用于对对象管理单元定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0011] 根据本申请实施例的技术方案,预先将测试框架内嵌于网页产品中,并在网页产品的主域名下为测试框架预先分配的地址,将包括测试框架的网页产品和开发框架部署在同一服务器上,通过测试框架接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,能够将对网页产品的测试工作和开发工作融合在同一资源平台下,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期;并且通过本申请实施例提供的测试框架,开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,从而能够降低测试工作的繁杂程度、提高测试工作的效率;从而本申请实施例提供的技术方案能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0012] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

[0013] 图1为本申请实施例提供的网页产品的开发测试系统的结构框架示意图;
[0014] 图2为图1中所示分流装置具体实施中的工作原理图;
[0015] 图3为本申请实施例提供的网页产品的测试方法的工作流程图;
[0016] 图4为图3所示方法的优选实施方式的工作流程图;
[0017] 图5为本申请实施例提供的测试框架的显示页面结构示意图;
[0018] 图6为申请实施例提供的网页产品的测试装置的结构框图。

具体实施方式

[0019] 以下结合附图对本申请的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本申请,并不用于限定本申请。
[0020] 目前在现有技术中,对网页产品的测试工作中,存在测试工作进度落后、成本攀升、效率低下、不能满足开发工作的需求的问题,本申请实施例针对这一问题提供了一种解决方案,即对网页产品的测试方案。
[0021] 在本申请实施例提供的对网页产品的测试方案中,预先将测试框架内嵌于网页产品中,并在网页产品的主域名下为测试框架预先分配的地址,将包括测试框架的网页产品和开发框架部署在同一服务器上,通过测试框架接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,能够将对网页产品的测试工作和开发工作融合在同一资源平台下,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期;通过本申请实施例提供的测试框架开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,从而能够降低测试工作的繁杂程度、提高测试工作的效率;从而本申请实施例提供的技术方案能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0022] 下面对本申请实施例进行详细说明。
[0023] 图1示出了本申请实施例提供的网页产品的开发测试系统的结构框架,如图1所示,该系统包括开发框架1、内嵌在网页产品中的测试框架(BIT,Buildin Test)2、分流装置3,优选地,所述网页产品、开发框架1、测试框架2、分流装置3位于同一个服务器中。
[0024] 分流装置3,用于对用户的请求进行识别,在识别请求中包括测试框架2在网页产品的主域名下预先分配的地址时,将请求发往测试框架2,在识别请求中包括开发框架1在网页产品的主域名下预先分配的地址时,将请求发往开发框架1;
[0025] 测试框架2,连接至分流装置3,用于在接收到来自分流装置3的请求时得以触发,接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;根据用户在所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素标识,在网页产品中定位该页面元素的标识对应的页面元素;对定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0026] 一种优选的方式,可以通过二方库的方式预先将测试框架2内嵌于网页产品中。具体地,对测试框架2构建完成后,将测试框架2存储在远程服务器上,在网页产品的打包清单文件中写入测试框架2在远程服务器上的存储地址,例如在项目对象模型(POM,Project Object Model)文件中写入测试框架2的存储地址。并且在网页产品的主域名下为测试框架2分配地址,该地址可以是网页产品主域名下的子目录名,例如,网页产品的主域名为http://a.net,为测试框架分配的地址为:http://a.nebit/index.htm。在对网页产品打包时,打包工具根据打包清单文件测试框架2的存储地址,从远程服务器上将测试框架2下载到网页产品所在的本地,将测试框架2打包到网页产品包中,也即将测试框架内嵌于网页产品中。后续启动网页产品包即可对测试框架2进行访问。
[0027] 在具体实施的过程中,由于预先将测试框架内嵌在了网页产品中,这样对于每个网页产品只需部署一次测试环境(即测试框架),后续只需访问测试框架在网页产品主域名下的地址就可直接进行测试的相关操作,避免了现有技术中,在每次测试工作中都要对测试环境进行重复的加载(包括页面更新并下载+检查公共文件更新并下载+加载公共页面+加载公共共享文件),从而可以显著地节约测试时间,根据经验统计情况,平均每个测试用例可节省60%的测试时间。
[0028] 一种优选的方式,分流装置3通过对浏览器发出的HTTP请求(HTTPRequest)进行分析,当HTTP请求中包括测试框架2在网页产品的主域名下的地址时,将该HTTP请求发送给测试框架2,在HTTP请求中包括开发框架1在在网页产品的主域名下的地址时,将该HTTP请求发送给开发框架1。在具体实施的过程中,分流装置3可通过Servlet技术来实现,通过Servlet技术中的过滤器Filter来实现对HTTP请求的识别和分流,并通过Servlet来实现对HTTP请求的响应,如图2所示,分流装置3对用户发出的请求进行分流的处理包括如下步骤:
[0029] 步骤21、监听器Listener监听到浏览器发出的HTTP Request时,将该HTTPRequest发送给分流装置3中的过滤器Filter;
[0030] 步骤22、Filter对HTTP Request进行解析,当HTTP Request为对测试框架2的请求(即BIT Request)时,判断线下测试环境为打开状态时,将该BITRequest发往测试框架的接口BIT Servlet,处理进行到步骤23;在HTTP Request为一般的应用请求APP Request(包括对开发框架1的请求)时,将HTTP Request发往应用接口APP Servlet(该接口也处理对开发框架的请求),处理进行到步骤24;
[0031] 步骤23、BIT Servlet判断用户为合法用户时,将BIT request发往APPServlet;
[0032] 步骤24、APP Servlet对用户的BIT request或APP Request进行处理。
[0033] 通过如图1所示的系统,预先将测试框架内嵌于网页产品中,并在网页产品的主域名下为测试框架预先分配的地址,将包括测试框架的网页产品和开发框架部署在同一服务器上,能够将对网页产品的测试工作和开发工作融合在同一资源平台下,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期。
[0034] 下面对使用测试框架进行测试的工作原理进行说明。
[0035] 图3示出了本申请实施例提供的网页产品的测试方法的工作流程图,如图1所示,该方法包括如下处理过程:
[0036] 步骤31、在用户访问为测试框架在网页产品的主域名下预先分配的地址时,触发内嵌在网页产品中的测试框架;
[0037] 步骤32、触发后的测试框架接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;
[0038] 步骤33、根据用户在所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素的标识,在网页产品中定位该页面元素的标识对应的页面元素,对定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0039] 根据如图3所示的方法,通过内嵌在网页产品中的测试框架接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期;并且开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,从而能够降低测试工作的繁杂程度、提高测试工作的效率;从而本申请实施例提供的技术方案能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0040] 图4示出了图3所示方法的优选实施方式的工作流程图,如图4所示,该优选实施方式包括如下处理过程:
[0041] 步骤41、测试框架在被触发后,在网页产品中读取待测网页,存储待测网页的统一资源定位符(URL,Universal Resource Locator),显示读取的待测网页的标识、以及待测网页的页面元素的标识,待测网页的标识包括待测网页的名称和/或URL,页面元素的标识包括页面元素的名称和/或定位符,该定位符记录了页面元素在待测网页上的位置信息;
[0042] 具体地,可通过tab标签的形式显示待测网页的名称,实际存储的是待测网页的URL,这样tab标签对于用户而言是目录结构的待测网页名称,对于测试框架内部处理程序而言是树结构的待测网页URL,这样便于用户操作以及测试框架内部程序对待测页面的操作;
[0043] 步骤42、针对用户在所显示出来的待测网页的标识及待测网页的页面元素的标识中选择的待测页面的标识及待测页面中的页面元素的标识,接收并存储用户输入的测试用例,测试用例包括对页面元素执行的测试操作、以及对页面元素的测试期望值,并建立用户选择的待测网页的标识、待测网页中的页面元素的标识、以及用户输入的测试用例之间的测试点对应关系;
[0044] 具体地,与步骤41中的显示方式类似,用户可在以tab标签形式显示的目录结构的待测网页名称中选择进行测试的待测网页,测试框架根据用户选择的待测网页的URL读取该待测页面,显示用户所选择的待测网页、以及该待测页面中的页面元素的标识,显示的具体情况可如图5所示,如图5中,页面视图501显示了目录结构的待测页面名称,被测页面视图502显示了用户所选择的待测网页的页面信息,元素视图503中显示待测页面的页面元素的名称,在用户选择了进行测试的页面元素后,测试框架查找到用户选择的页面元素的定位符,测试框架接收用户在需求视图504中输入的测试操作和测试期望值,并建立用户选择的待测网页的URL、待测网页中的页面元素的定位符、以及用户输入的测试操作和测试期望值构建为测试文件;
[0045] 优选地,用户可以针对同一个页面元素输入多个测试用例,这多个测试用例中可以分别包括对页面元素执行的不同类型的测试操作,这样就根据不同类型的测试操作而形成对页面元素不同的测试点;
[0046] 其中,测试操作的类型包括:对页面元素进行点击(例如点击链接、点击按钮、点击单选框或多选框)、取值(即读取页面元素的属性值,例如读取编辑框的颜色)、赋值(即将字符串赋予页面元素,例如对用户名密码进行赋值、对编辑框进行赋值);
[0047] 在测试操作为赋值操作的情况下,用户输入的测试用例中还包括与赋值操作相对应的测试数据,测试框架将用户输入的与赋值操作相对应的测试数据另外存储为测试数据文件,并建立赋值操作的测试文件和与赋值操作相对应的测试数据文件之间的对应关系,即赋值数据对应关系;
[0048] 步骤43、根据用户在所存储的测试用例中选择的测试用例,确定包括该被选测试用例的测试文件,在确定的测试文件中查找该被选测试用例所针对的待测网页的标识,读取查找到的待测网页的标识对应的待测网页,并根据确定得到的测试文件中的页面元素标识,在读取的待测网页中定位所述页面元素标识对应的页面元素;
[0049] 具体地,与步骤41中的显示方式类似,用户可以在目录结构的待测网页名称中选择进行测试的待测网页(如图5中的页面视图501),测试框架根据用户选择的待测网页的URL读取该待测页面,并显示用户所选择的待测网页(如图5中的被测页面视图502)、以及该待测页面中的页面元素的名称(如图5中的元素视图503),用户选择了进行测试的页面元素后,测试框架查找到所选择的页面元素的定位符,并根据用户选择的待测网页的URL、页面元素的定位符、以及已建立的全部测试文件,查找到与用户选择的待测网页、页面元素相对应的测试用例,并以列表的形式显示查找到的全部测试用例的内容,即显示测试用例所包括的测试操作、测试期望值,以及以列表的形式显示测试数据,具体的显示情况可如图5中的需求视图504所示,这样用户就能够清楚地查看测试用例是否覆盖了测试点的全部需求,并且当用户需要对测试用例进行完善时,测试框架接收并存储用户对测试用例中的内容的修改;相比于现有技术中,通过依次调用测试用例并查看测试用例中的内容的方式,以列表的形式显示测试用例中的内容,使用户能够有效地对测试用例进行查看和完善,能够提高测试工作的效率;
[0050] 步骤44、将用户针对同一个页面元素选择的不同测试操作类型的多个测试用例,按照测试操作的类型归并为不同的测试任务,每个测试任务中包括相同测试操作类型的测试用例,按照归并得到的测试任务的类别,对定位得到的同一个页面元素依次执行每个测试任务中包括的测试用例;在具体实施的过程中,按照测试任务来执行测试用例能够提高测试效率;
[0051] 当用户对多个页面元素选择了测试用例时,还可以将对不同页面元素的测试用例归并为不同的测试流程,每个测试流程中包括对同一个页面元素的多个测试用例,每个测试流程中还可以包括多个的测试任务;
[0052] 步骤45、在对定位得到的页面元素执行测试操作之前,在读取到的待测网页上包括登录任务的情况下,调用预设的HTTP请求进行登录,该预设的HTTP请求中包括预定的登录信息;
[0053] 步骤46、对定位得到的页面元素执行被选测试用例中指示的测试操作;具体包括:在测试操作为点击的情况下,点击定位得到的页面元素;在测试操作为取值的情况下,读取定位得到的页面元素的属性值;在测试操作进行赋值的情况下,根据建立的赋值数据对应关系,读取与赋值操作相对应的测试数据文件中的测试数据,将读取的测试数据赋予定位得到的页面元素;
[0054] 在步骤46中,本申请实施例将对页面元素的操作归并为三种类型:点击、取值、赋值,使得测试框架能够执行各种对页面元素的测试操作,从而能够达到一种“通用测试”的效果,使得用户无需针对测试用例编写相应的测试代码,能够提高测试效率;
[0055] 在上述步骤45、46中,通过预设用于登录的HTTP请求、以及将测试数据存储为单独的测试数据文件,能够起到将测试流程与测试数据分离的作用,便于对测试用例的维护、更新和修改;通过调用预设的HTTP请求或单独存储的测试数据文件,还能够在测试执行的过程中避免人工输入数据而导致浪费测试时间的问题,能够缩短测试时间、提高测试效率;本申请实施例在具体实施的过程中,通过Jquery技术来实现对文件对象模型(DOM,Document ObjectMode)元素(即页面元素)的定位、以及赋值操作和登录操作,能够在单个的赋值操作上至少节约2至10秒的时间,在单个的登录操作上至少节约5秒的时间;
[0056] 步骤47、将得到的测试结果与所述被选测试用例中的测试期望值相对比,在得到的测试结果与该测试期望值一致时,测试成功,否则,测试失败,结束后续的测试操作,将测试失败的测试用例提交给远程Bug管理系统;
[0057] 在测试失败时将测试用例提交给远程Bug管理系统,能够使Bug管理系统有效地对测试失败的待测网页及页面元素进行定位,而在现有技术中,只是在测试失败时,由测试平台向Bug管理系统发出告警,Bug管理系统很难对测试失败的具体情况进行定位和重现,在本申请实施例中Bug管理系统根据上报道测试用例,能够有效地定位测试失败的待测网页及页面元素,有助于对开发工作进行反馈;
[0058] 步骤48、进行后期数据清理工作,例如,将在测试中注册的用户信息删除掉。
[0059] 通过如图4所示的处理过程可见,本申请实施例提供的测试框架能够对用户针对页面元素输入的测试用例进行有效的管理,并能够根据用户选择的测试用例,对页面元素执行有效地测试,能够缩短测试时间、提高测试效率,能够起到“通用测试”的效果,使得用户无需对测试用例编制单独的测试代码,从而能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0060] 本申请实施例提供的网页产品的测试方法,不仅能够通过硬件实现,还能够通过软件程序来实现,即通过如下的网页产品的测试装置来实现。
[0061] 图6中示出了本申请实施例提供的网页产品的测试装置的结构示意图,该测试装置内嵌于网页产品中,并具有在网页产品的主域名下预先分配的地址如图6所示,该测试装置包括:测试用例管理单元61、对象管理单元62、测试执行单元63。
[0062] 测试用例管理单元61,用于接收并存储用户针对网页产品的待测网页中的页面元素输入的测试用例;其中,测试用例包括对页面元素执行的测试操作;
[0063] 对象管理单元62,连接至测试用例管理单元61,用于根据用户在测试用例管理单元61所存储的测试用例中选择的测试用例、以及被选测试用例所针对的页面元素的标识,在网页产品中定位该页面元素的标识对应的页面元素;
[0064] 测试执行单元63,连接至对象管理单元62,用于对对象管理单元62定位得到的页面元素执行被选测试用例中指示的测试操作,得到测试结果。
[0065] 图6所示装置的工作原理如图2所示,这里不再赘述。
[0066] 根据如图6所示的装置,也能够通过内嵌在网页产品中的测试装置接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期;并且开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,从而能够降低测试工作的繁杂程度、提高测试工作的效率;从而本申请实施例提供的技术方案能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0067] 一种优选地方式,测试用例管理单元61,还用于:针对用户在所显示出来的待测网页的标识及待测网页的页面元素的标识中选择的待测页面的标识及待测页面中的页面元素的标识,接收并存储用户输入的测试用例,将用户选择的待测网页的标识、待测网页中的页面元素的标识、以及用户输入的测试用例构建为测试文件;具体地,将用户输入的与赋值操作相对应的测试数据存储为测试数据文件,并建立赋值操作的测试文件和与赋值操作相对应的测试数据文件之间的赋值数据对应关系;对于用户针对同一个页面元素选择的相同测试操作类型的多个测试用例,以列表的形式显示每个测试用例中包括的内容,接收并存储用户对所显示的测试用例中的内容的修改。
[0068] 对象管理单元62,具体用于:在测试装置被触发后,在网页产品中读取待测网页,显示读取的待测网页的标识、以及待测网页的页面元素的标识;根据用户在测试用例管理单元61所存储的测试用例中选择的测试用例,确定包括该被选测试用例的测试文件,在确定的测试文件中查找该被选测试用例所针对的待测网页的标识,读取查找到的待测网页的标识对应的待测网页,并根据确定测试文件中的页面元素标识,在读取的待测网页中定位所述页面元素标识对应的页面元素。
[0069] 测试执行单元63,还用于:将用户针对同一个页面元素选择的不同测试操作类型的多个测试用例,按照测试操作的类型归并为不同的测试任务,每个测试任务中包括相同测试操作类型的测试用例,按照归并得到的测试任务的类别,对所述对象管理单元62定位得到的同一个页面元素依次执行每个测试任务中包括的测试用例;在对定位得到的页面元素执行测试操作之前,在读取到的待测网页上包括登录任务的情况下,调用预设的超文本传输协议HTTP请求进行登录,该预设的HTTP请求中包括预定的登录信息;在执行测试操作时,在测试操作为对页面元素进行点击的情况下,点击定位得到的页面元素,在测试操作为对页面元素进行取值的情况下,读取定位得到的页面元素的属性值,在测试操作为对页面元素进行赋值的情况下,根据建立的赋值数据对应关系,读取与赋值操作相对应的测试数据文件中的测试数据,将读取的测试数据赋予定位得到的页面元素;将得到的测试结果与被选测试用例中的测试期望值相对比,在得到的测试结果与该测试期望值一致时,测试成功,否则,测试失败,结束后续的测试操作,将测试失败的测试用例提交给远程Bug管理系统。
[0070] 图6所述装置的优选实施工作方式,如图4所示,这里不再赘述。
[0071] 综上所述,在本申请实施例提供的对网页产品的测试方案中,预先将测试框架内嵌于网页产品中,并在网页产品的主域名下为测试框架预先分配的地址,将包括测试框架的网页产品和开发框架部署在同一服务器上,通过测试框架接收并存储用户针对页面元素输入的测试用例,以及根据用户选择的测试用例对页面元素进行测试操作、得到测试结果,能够将对网页产品的测试工作和开发工作融合在同一资源平台下,使开发人员能够及时地对开发出来的网页产品进行测试,从而能够加快测试工作的进度、缩短测试工作的周期;并且开发人员只需设计测试用例就能进行测试工作,不用专门为测试用例编写测试代码,从而能够降低测试工作的繁杂程度、提高测试工作的效率;从而本申请实施例提供的技术方案能够解决现有技术中存在的对网页产品的开发工作和测试工作相分离,测试进度落后、效率低下、不能满足开发工作的需求的问题。
[0072] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。