CN103186455B - 页面自动化测试脚本生成方法及系统 - Google Patents
页面自动化测试脚本生成方法及系统 Download PDFInfo
- Publication number
- CN103186455B CN103186455B CN201110448240.4A CN201110448240A CN103186455B CN 103186455 B CN103186455 B CN 103186455B CN 201110448240 A CN201110448240 A CN 201110448240A CN 103186455 B CN103186455 B CN 103186455B
- Authority
- CN
- China
- Prior art keywords
- attribute
- converted
- property value
- html
- page
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种页面自动化测试脚本生成方法,包括以下步骤:监听输入操作,获取输入的html属性、属性值和转换类型;基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。本申请还提供一种实现前述方法的页面自动化测试脚本生成系统。本申请的页面自动化测试脚本生成方法及系统,以能够提高生成自动化测试脚本的效率、减少测试时间和工作量。
Description
技术领域
本申请涉及计算机软件测试技术领域,特别是涉及一种页面自动化测试脚本生成方法及系统。
背景技术
在软件开发过程中或者开发完成后,通常需要对软件进行相关测试,及时发现问题,从而保证软件在发布后能够正常运行。业界通过不断研究开发了一系列的自动化测试手段来对软件进行自动化测试来提高测试效率、缩短测试时间及人力成本。
但是,对于开发过程中的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,基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。
转换类型预先设定并显示在输入界面中,通过监听获取输入选择的转换类型,并查询存储的该转换类型对应的拼装规则,然后根据该拼装规则对多个转换后的转换值进行拼装得到所需要的目标脚本。转换类型用于表明所输入的属性之间的关系。
本实例中,转换类型包括多重条件转换、父子条件转换、祖孙条件转换。其中,多重条件转换指用该元素的多个属性来确定该元素,父子条件转换指用具有父子关系的两个元素的一个或者几个属性来确定一个元素,祖孙条件转换指用祖孙关系的两个元素的一个或者几个属性来确定一个元素。各转换类型对应的拼装规则分别为直接拼装或者在转换值之间添加不同的符号。例如,多重条件转换对应的拼装规则为将几个属性值的转换值直接拼装。父子条件转换对应的拼装规则为在几个属性值的转换值之间添加“>”符号。祖孙条件转换对应的拼装规则为在几个属性值的转换值之间添加“空格”符。当然,对于这些拼装规则中所指定添加的符号也可以用其他符号替换,本申请并不局限于此。
下面结合具体实例对前述方法进行说明。假设属性和转换规则如下表所示:
某一页面元素的html属性包括id、class、element和name,前述各属性的属性值分别为:on1、longin-text1、iframe和uu,转换类型为多种条件转换,若转换规则为:用“#”表示目标元素的id;用“.”表示目标元素的class;用属性值直接表示;用“name*=value”表示目标元素的name。那么基于前述的转换规则和拼装规则,转换得到的测试脚本为“#on1.longin-text1iframename*=uu”。
一般来说,因为转换过程中需要各页面元素的直接关系,对于具有祖孙关系的元素转换,需要将祖孙中间所有元素的直接关系都作为输入。本申请通过添加不同的转换类型,如祖孙条件转换,可以实现各页面元素层次关系的灵活调整。即当知道某一元素的某些属性和与其有祖孙关系的另一元素的属性,可以利用祖孙条件转换所对应的拼装规则直接进行转换,而无需借助祖孙元素之间的中间元素来完成层次关系的调整,屏蔽了无效信息,提高了调整的灵活性和效率。例如,若采用常见的转换方法,对于A元素的子元素A1下的子元素A11,需要将三个元素都转换生成测试脚本语法,而本申请中只需要A和A11,利用祖孙条件转换及其对应的拼装规则即可实现。
参照图2,其示出本申请的一种页面自动化测试脚本生成系统实施例一,包括输入装置10、转换模块20和拼装模块30。
输入装置10,用于监听输入操作,获取输入的html属性、属性值和转换类型。输入装置10包含输入界面,用于输入html的属性和该属性对应的属性值,通过监听输入界面对应输入栏的输入操作,来获取待转换页面元素的html属性和属性值。具体的,可以通过java的swing界面框架技术来实现输入功能,并添加swing监听事件程序来实现输入操作和内容的监听。输入界面所能输入的html属性包括待转换元素的html属性或者与其有父子和祖孙关系的元素的html属性。输入界面中还包括供选取的转换类型,转换类型包括多重条件转换、父子条件转换和祖孙条件转换中的一种或多种。
转换模块20,用于基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值。转换模块20包括分配单元和转换单元。分配单元首先查询获取到的html属性所对应的转换规则,然后依据转换规则将html属性和属性值分配给各转换规则对应的处理分支。转换单元基于预定的分支要求对属性值进行转换处理,从而将属性值转换为符合目标语法要求的转换值。
拼装模块30,用于基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本。
其中,页面自动化测试脚本生成系统中会预先存储各种属性所对应的转换规则以及各种转换类型所对应的拼装规则,通过监听到输入的属性和转换类型后,便会根据属性对应的转换规则对属性值进行转换,然后再依据转换类型,对转换后的值进行拼装,最终得到所需的测试脚本,然后返回给客户端。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请所提供的页面自动化测试脚本生成方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种页面自动化测试脚本生成方法,其特征在于,包括以下步骤:
监听用于输入html的属性和该属性对应的属性值的输入界面对应输入栏的输入操作,获取输入的待转换页面元素的html属性、属性值和转换类型;
基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;
基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本;其中,对所述转换值进行拼装包括:
在几个转换值之间添加预定符号。
2.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述输入的html属性包括:
待转换页面元素的全部html属性;或
待转换页面元素的部分html属性;或
待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。
3.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述转换类型包括以下一种或多种:
多重条件转换,用某一元素的部分或全部属性来确定该元素;
父子条件转换,用具有父子关系的两个元素的属性来确定一个元素;
祖孙条件转换,用具有祖孙关系的两个元素的属性来确定一个元素。
4.如权利要求1所述的页面自动化测试脚本生成方法,其特征在于,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括:
依据转换规则将html属性和属性值分配给各转换规则对应的处理分支;
各处理分支根据预定的分支要求对属性值进行转换处理。
5.如权利要求4所述的页面自动化测试脚本生成方法,其特征在于,所述根据转换规则将该属性值转换为符合目标语法要求的转换值包括以下一种或多种:
对属性值进行字符添加;
对属性值进行字符分割;
对属性值进行字符串连接。
6.一种页面自动化测试脚本生成系统,其特征在于,包括:
输入装置,用于监听用于输入html的属性和该属性对应的属性值的输入界面对应输入栏的输入操作,获取输入的待转换页面元素的html属性、属性值和转换类型;
转换模块,用于基于获取到的html属性查询与该html属性对应的转换规则,并根据转换规则将该属性值转换为符合目标语法要求的转换值;
拼装模块,用于基于获取到的转换类型查询该转换类型对应的拼装规则,并根据所述拼装规则对所述转换值进行拼装得到目标测试脚本;其中,对所述转换值进行拼装包括:
在几个转换值之间添加预定符号。
7.如权利要求6所述的页面自动化测试脚本生成系统,其特征在于,所述输入装置包括:
html属性输入单元,用于输入待转换页面元素的全部html属性;或
待转换页面元素的部分html属性;或
待转换页面元素的部分html属性和其他元素的部分html属性的组合,所述其他元素为与所述待转换元素具有父子或祖孙关系的元素。
8.如权利要求6所述的页面自动化测试脚本生成系统,其特征在于,所述输入装置包括:
转换类型选取单元,用于选取转换类型,所述转换类型包括多重条件转换、父子条件转换和祖孙条件转换中的一种或多种。
9.如权利要求6所述的页面自动化测试脚本生成系统,其特征在于,所述转换模块包括:
分配单元,用于依据转换规则将html属性和属性值分配给各转换规则对应的处理分支;和
转换单元,用于基于预定的分支要求对属性值进行转换处理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448240.4A CN103186455B (zh) | 2011-12-28 | 2011-12-28 | 页面自动化测试脚本生成方法及系统 |
HK13110055.6A HK1182807A1 (zh) | 2011-12-28 | 2013-08-28 | 頁面自動化測試腳本生成方法及系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448240.4A CN103186455B (zh) | 2011-12-28 | 2011-12-28 | 页面自动化测试脚本生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186455A CN103186455A (zh) | 2013-07-03 |
CN103186455B true CN103186455B (zh) | 2016-03-30 |
Family
ID=48677631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110448240.4A Active CN103186455B (zh) | 2011-12-28 | 2011-12-28 | 页面自动化测试脚本生成方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103186455B (zh) |
HK (1) | HK1182807A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535904B2 (en) * | 2014-03-26 | 2017-01-03 | Microsoft Technology Licensing, Llc | Temporal translation grammar for language translation |
CN105320590B (zh) * | 2014-07-15 | 2018-02-06 | 中国银联股份有限公司 | 一种可在线动态扩展的web测试系统以及web测试方法 |
CN105808417B (zh) * | 2014-12-29 | 2019-02-26 | 平安科技(深圳)有限公司 | 自动化测试方法及代理服务器 |
CN104932974B (zh) * | 2015-05-28 | 2018-11-13 | 国家计算机网络与信息安全管理中心 | 一种脚本转换方法和装置 |
CN105279089B (zh) * | 2015-10-30 | 2017-12-12 | 中国人民财产保险股份有限公司 | 一种获取页面元素的方法及装置 |
CN105608007B (zh) * | 2015-12-28 | 2018-04-13 | 北京致远互联软件股份有限公司 | 页面模型、用户界面自动化测试方法以及装置 |
CN106131864A (zh) * | 2016-06-30 | 2016-11-16 | 上海斐讯数据通信技术有限公司 | 一种无线网络数据测试方法 |
CN111125605B (zh) * | 2019-12-31 | 2022-07-29 | 北京创鑫旅程网络技术有限公司 | 页面元素获取方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409937A (zh) * | 2008-01-25 | 2009-04-15 | 聂沫平 | 一种将脚本转换成目标系统支持的数据格式的方法及装置 |
CN101526919A (zh) * | 2009-04-29 | 2009-09-09 | 福建星网锐捷网络有限公司 | 生成脚本文件对Web应用软件进行测试的方法及装置 |
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102163233A (zh) * | 2011-04-18 | 2011-08-24 | 北京神州数码思特奇信息技术股份有限公司 | 一种网页标记语言格式转换方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700763B2 (en) * | 2008-05-19 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for automatically testing an application |
-
2011
- 2011-12-28 CN CN201110448240.4A patent/CN103186455B/zh active Active
-
2013
- 2013-08-28 HK HK13110055.6A patent/HK1182807A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409937A (zh) * | 2008-01-25 | 2009-04-15 | 聂沫平 | 一种将脚本转换成目标系统支持的数据格式的方法及装置 |
CN101526919A (zh) * | 2009-04-29 | 2009-09-09 | 福建星网锐捷网络有限公司 | 生成脚本文件对Web应用软件进行测试的方法及装置 |
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102163233A (zh) * | 2011-04-18 | 2011-08-24 | 北京神州数码思特奇信息技术股份有限公司 | 一种网页标记语言格式转换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103186455A (zh) | 2013-07-03 |
HK1182807A1 (zh) | 2013-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186455B (zh) | 页面自动化测试脚本生成方法及系统 | |
CN102594833B (zh) | 一种通信协议适配方法和系统 | |
CN101127655B (zh) | 集成现有基于万维网的系统的方法和系统 | |
CN102541541B (zh) | 界面生成方法和装置 | |
CN107291523B (zh) | 一种Web前端消息总线系统 | |
CN101122921B (zh) | 基于ajax与html标记形成树形显示结构的方法 | |
CN102591724B (zh) | 消息交互方法及装置 | |
CN101216838B (zh) | 基于web标记的xml界面配置文件分发系统及方法 | |
CN102779164B (zh) | 一种业务系统及其动态页面的渲染方法 | |
CN100426750C (zh) | 一种生成两套网管系统的方法 | |
CN103617066A (zh) | 一种工作流引擎及其实现方法 | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
CN101841515A (zh) | 可变目标的协议数据单元编解码代码自动生成的实现方法 | |
CN101697166A (zh) | 一种加速异构平台数据整合的方法 | |
CN103577197A (zh) | 一种安卓应用程序动态表单的实现方法 | |
CN103019874A (zh) | 基于数据同步实现异常处理的方法及装置 | |
CN103078920A (zh) | 一种基于iec61968企业服务总线的消息在线校验系统 | |
CN110764752A (zh) | 基于微服务架构实现Restful服务图形化服务编排的系统及其方法 | |
CN102426612A (zh) | 条件对象查询方法及系统 | |
CN101271460A (zh) | 用于混搭Web应用的方法和装置 | |
CN106776074A (zh) | 一种基于http的web插件调用方法及系统 | |
CN105045598A (zh) | 一种基于Java的web前端性能优化及上线的方法和系统 | |
CN103593199A (zh) | 数据转换的方法和系统 | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN1207662C (zh) | 基于多代理的交互式Web服务调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1182807 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1182807 Country of ref document: HK |