页面自动化测试脚本生成方法及系统的制作方法

文档序号:6443815阅读:295来源:国知局
专利名称:页面自动化测试脚本生成方法及系统的制作方法
技术领域
本申请涉及计算机软件测试技术领域,特别是涉及一种页面自动化测试脚本生成方法及系统。
背景技术
在软件开发过程中或者开发完成后,通常需要对软件进行相关测试,及时发现问题,从而保证软件在发布后能够正常运行。业界通过不断研究开发了一系列的自动化测试手段来对软件进行自动化测试来提高测试效率、缩短测试时间及人力成本。但是,对于开发过程中的web页面很难采用自动化测试的方式来进行处理,因为web页面的自动化测试,首先需要将web页面元素的源代码自动转换为自动化测试可执行的语法,但是因为web页面元素具有用户界面关系,而对于未运行的web页面来说,其页面元素关系很难获取,在自动转换过程中一般只能对页面元素的源代码进行语法的转换,不能对页面元素关系进行转换,因此,在转换后还需要人为的拼装页面元素关系,过程繁杂且容易有错漏,产生非法脚本。若需要实现web页面的测试脚本自动转换,通常需要在网页运行期,也即在整个网页编码完成后,通过网页的运行来获取其页面元素关系,然后在后台进行转换处理来实现web页面元素html语法与测试可执行语法的转换。此种方法无法实现网页编码过程中的自动化测试,不便于及时发现问题。另外,一次测试通常是测试其中一项功能,依照前述方法需要对整个页面元素进行转换,而在测试时,实际使用的只是其中一部分,这就增加了测试的工作量同时降低了测试效率。进一步地,当web页面元素中有部分元素关系发生变化时,原先生成的测试脚本便无法再用于测试,而需要重新将整个web页面元素再次进行转换,这也会增加测试工作量和时间,降低测试效率。

发明内容
本申请提供一种页面自动化测试脚本生成方法及系统,以解决页面编码过程中的自动化测试脚本生成的问题。为了解决上述问题,本申请公开了一种页面自动化测试脚本生成方法,包括以下步骤:监听输入操作,获取输入的html属性、属性值和转换类型;基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。进一步地,所述输入的html属性包括:待转换页面元素的全部html属性;或
待转换页面元素的部分html属性;或待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。进一步地,所述转换类型包括以下一种或多种:多重条件转换,用某一元素的部分或全部属性来确定该元素;父子条件转换,用具有父子关系的两个元素的属性来确定一个元素;祖孙条件转换,用具有祖孙关系的两个元素的属性来确定一个元素。进一步地,对所述转换值进行拼装包括:在几个转换值之间添加预定符号。进一步地,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括:依据转换规则将html属性和属性值分配给各转换规则对应的处理分支;各处理分支根据预定的分支要求对属性值进行转换处理。进一步地,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括以下一种或多种:对属性值进行字符添加;对属性值进行字符分割;对属性值进行字符串连接。为了解决上述问题,本申请还公开了一种页面自动化测试脚本生成系统,包括:输入装置,用于监听输入操作,获取输入的html属性、属性值和转换类型;转换模块,用于基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;拼装模块,用于基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。进一步地,所述输入装置包括:html属性输入单元,用于输入待转换页面元素的全部html属性;或待转换页面元素的部分html属性;或待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。进一步地,所述输入装置包括:转换类型选取单元,用于选取转换类型,所述转换类型包括多重条件转换、父子条件转换和祖孙条件转换中的一种或多种。进一步地,所述转换模块包括:分配单元,用于依据转换规则将html属性和属性值分配给各转换规则对应的处理分支;和转换单元,用于基于预定的分支要求对属性值进行转换处理。与现有技术相比,本申请包括以下优点:本申请的页面自动化测试脚本生成方法及系统通过预定转换规则和转换类型,只要获取到某一页面元素的设计接口(即html属性和属性值)或者能够唯一确定该页面元素的几个设计接口,便可以依据转换规则以及转换类型转换得到测试脚本,无需等待整个页面编码完成,可以及时的发现页面编码过程中的问题。其中所需要转换的代码也可以仅仅是需要测试的那一部分的代码,而无需对整个页面代码进行转换,降低了工作量,提高了测试效率。另外,本申请通过添加不同的转换类型,如祖孙条件转换,可以实现各页面元素层次关系的灵活调整。即当知道某一元素的某些属性和与其有祖孙关系的另一元素的属性,可以利用祖孙条件转换所对应的拼装规则直接进行转换,而无需借助祖孙元素之间的中间元素来完成层次关系的调整,屏蔽了无效信息,提高了调整的灵活性和效率。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。


图1是本申请的页面自动化测试脚本生成方法实施例一的流程图;图2是本申请的页面自动化测试脚本生成系统实施例一的结构示意图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。参照图1,其示出本申请的一种页面自动化测试脚本生成方法实施例一,包括以下步骤:步骤101,监听输入操作,获取输入的待转换页面元素的html属性和属性值。页面自动化测试脚本生成系统包含输入界面,用于输入html的属性和该属性对应的属性值,页面自动化测试脚本生成系统通过监听输入界面对应输入栏的输入操作,来获取待转换页面元素的html属性和属性值。具体的,可以通过java的swing界面框架技术来实现输入功能,并添加swing监听事件程序来实现输入操作和内容的监听。待转换页面元素的html属性通常包括id、class、element、name等用于识别待转换元素的属性。输入的待转换页面元素的html属性可以是其中的一个或多个,也可以是全部。这根据编码过程中设定的具体属性值来确定,只要所输入的待转换页面元素的html属性能够唯一确定待转换页面元素即可。例如,若有一个属性能够唯一确定该待转换页面元素,则只输入一个属性和对应的属性值,若有两个属性组合能够唯一确定该待转换页面元素,则输入该两个属性和对应的属性值。当然,全部属性肯定能够唯一确定一个待转换页面元素,因此也可以输入全部属性和各属性对应的属性值。步骤102,基于获取到的属性查询与该属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值。各属性的转换规则可预先设定,并存储于页面自动化测试脚本生成系统中,当获取到某一属性后,则从系统中查询该属性对应的转换规则,然后根据查询得到的转换规则对属性值进行转换,将属性值转换为符合要求的语法表达形式。例如,selector语法。其中,转换规则一般包括字符添加、字符分隔、字符串连接等等,具体的处理根据不同的属性设定,例如对于id转换,设定转换规则为在id值中添加连接符“#”等等。具体的转换规则可以如下表所示:
步骤103,基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。转换类型预先设定并显示在输入界面中,通过监听获取输入选择的转换类型,并查询存储的该转换类型对应的拼装规则,然后根据该拼装规则对多个转换后的转换值进行拼装得到所需要的目标脚本。转换类型用于表明所输入的属性之间的关系。本实例中,转换类型包括多重条件转换、父子条件转换、祖孙条件转换。其中,多重条件转换指用该元素的多个属性来确定该元素,父子条件转换指用具有父子关系的两个元素的一个或者几个属性来确定一个元素,祖孙条件转换指用祖孙关系的两个元素的一个或者几个属性来确定一个元素。各转换类型对应的拼装规则分别为直接拼装或者在转换值之间添加不同的符号。例如,多重条件转换对应的拼装规则为将几个属性值的转换值直接拼装。父子条件转换对应的拼装规则为在几个属性值的转换值之间添加“ >”符号。祖孙条件转换对应的拼装规则为在几个属性值的转换值之间添加“空格”符。当然,对于这些拼装规则中所指定添加的符号也可以用其他符号替换,本申请并不局限于此。下面结合具体实例对前述方法进行说明。假设属性和转换规则如下表所示:
权利要求
1.一种页面自动化测试脚本生成方法,其特征在于,包括以下步骤: 监听输入操作,获取输入的html属性、属性值和转换类型; 基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值; 基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。
2.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述输入的html属性包括: 待转换页面元素的全部html属性;或 待转换页面元素的部分html属性;或 待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。
3.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述转换类型包括以下一种或多种: 多重条件转换,用某一元素的部分或全部属性来确定该元素; 父子条件转换,用具有父子关系的两个元素的属性来确定一个元素; 祖孙条件转换,用具有祖孙关系的两个元素的属性来确定一个元素。
4.如权利要求1所述的页`面自动化测试脚本生成方法,其特征在于,对所述转换值进行拼装包括: 在几个转换值之间添加预定符号。
5.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括: 依据转换规则将html属性和属性值分配给各转换规则对应的处理分支; 各处理分支根据预定的分支要求对属性值进行转换处理。
6.如权利要求5所述的页面自动化测试脚本生成方法,其特征在于,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括以下一种或多种: 对属性值进行字符添加; 对属性值进行字符分割; 对属性值进行字符串连接。
7.一种页面自动化测试脚本生成系统,其特征在于,包括: 输入装置,用于监听输入操作,获取输入的html属性、属性值和转换类型; 转换模块,用于基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值; 拼装模块,用于基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。
8.如权利要求7所述的页面自动化测试脚本生成系统,其特征在于,所述输入装置包括: html属性输入单元,用于输入待转换页面元素的全部html属性;或 待转换页面元素的部分html属性;或待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。
9.如权利要求7所述的页面自动化测试脚本生成系统,其特征在于,所述输入装置包括: 转换类型选取单元,用于选取转换类型,所述转换类型包括多重条件转换、父子条件转换和祖孙条件转换中的一种或多种。
10.如权利要求7所述的页面自动化测试脚本生成系统,其特征在于,所述转换模块包括: 分配单元,用于依据转换规则将html属性和属性值分配给各转换规则对应的处理分支;和 转换单元,用于基于预定的分支 要求对属性值进行转换处理。
全文摘要
本申请提供了一种页面自动化测试脚本生成方法,包括以下步骤监听输入操作,获取输入的html属性、属性值和转换类型;基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。本申请还提供一种实现前述方法的页面自动化测试脚本生成系统。本申请的页面自动化测试脚本生成方法及系统,以能够提高生成自动化测试脚本的效率、减少测试时间和工作量。
文档编号G06F11/36GK103186455SQ201110448240
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者唐洪敏 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1