一种控件属性解析系统及方法

文档序号:9667256阅读:169来源:国知局
一种控件属性解析系统及方法
【技术领域】
[0001]本发明涉及自动化测试领域,尤其涉及一种应用于自动化测试的控件属性解析系统及方法。
【背景技术】
[0002]自动化测试是一种通过自动化工具执行定制好的测试脚本的过程,可节省人力,时间及硬件资源。通常一个简单的网页的自动化测试通常包括的步骤有:控件定位;交互操作;页面操作;检查操作。第一步控件定位是后续自动化脚本驱动页面动作的前提条件。需要被测页面的控件如输入框,按钮等能够被自动化工具识别,其识别依赖于页面控件的属性及组织关系。
[0003]现有网页自动化的测试方法虽然执行过程能够实现完全自动化,但是在对页面控件属性变量化这个步骤中仍然需要大量的测试人力去实现。目前较好的方法是使用Selenium-1DE的插件来进行分析,但这个工具也需要测试人员一步一步点击操作并且记录控件属性值。尤其是当页面和控件较多的时候,需要投入很多人力和时间。另一方面,依靠手工点击记录的方式也不利于脚本化的操作,始终不能被集成到自动化的过程中。同时一旦用户界面开发团队改变其中几个控件属性,如果不进行大面积的检查,由于底层应用程序编程接口(Applicat1n Programming Interface,API)失效,原有的自动化用例无法得出正确的结果,大大降低了测试效率。
[0004]在带有WEB界面的软件产品开发周期中,由于产品的改动导致同一页面控件的属性出现微调,而这种变动对于自动化开发人员来说通常是不可见的,会导致自动化回归测试出现了不通过的情况,这种不通过的上报会对研发端产生困扰,而对于自动化测试人员则需要消耗额外的时间和人力的成本,重新手动修改控件定位符,维护成本很大。

【发明内容】

[0005]针对现有的网页自动化的测试存在的上述问题,现提供一种旨在实现能够对脚本化页面控件进行定位符解析,提高自动化开发及测试效率的控件属性解析系统及方法。
[0006]具体技术方案如下:
[0007]—种控件属性解析系统,应用于网页控件的自动化测试中,包括:
[0008]—第一存储单元,用以存储一与所述网页控件关联的列表,所述列表中包括复数个子列表,每个所述子列表包括一个控件的文本标识及相应的定位符变量名;
[0009]—过滤单元,连接所述第一存储单元,用以将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
[0010]一第二存储单元,用以存储网页的源代码;
[0011]—解析单元,分别连接所述过滤单元和所述第二存储单元,用以将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。
[0012]优选的,所述子列表包括控件文本标识及与所述控件文本标识对应的控件定位符变量名。
[0013]优选的,所述控件定位符变量名包括与所述控件对应的页面标识,与所述控件对应的控件类型标识及与所述控件对应的功能标识。
[0014]优选的,所述解析单元包括:
[0015]—第一判断模块,用以判断每个所述子列表中的所述文本标识是否唯一,并输出判断结果;
[0016]—匹配模块,连接所述第一判断模块,当所述文本标识为唯一时,所述匹配模块用以根据预设模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出;
[0017]一第二判断模块,连接所述第一判断模块,当所述文本标识不是唯一时,所述第二判断模块用以判断所述文本标识对应的代码块是否为JavaScript动态选择代码块,并输出判断结果;
[0018]—分离模块,分别连接所述第二判断模块和所述匹配模块,当所述文本标识对应的代码块为JavaScript动态选择代码块时,所述分离模块用以根据预设解析库分离所述文本标识对应的代码段;
[0019]—模糊匹配模块,连接所述第二判断模块,当所述文本标识对应的代码块不是JavaScript动态选择代码块时,所述模糊匹配模块用以根据字符串相似度算法对所述文本标识的字符串相似度进行比对,将达到预设标准的所述文本标识对应的控件属性输出,并将未达到预设标准的所述文本标识进行标记并保存。
[0020]优选的,所述预设模式为根据预设的优先级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
[0021]优选的,所述预设的优先级匹配模式依次递减的顺序依次为:输入同行匹配模式、输入多行匹配模式、选择多行匹配模式、前向同行匹配模式、前向多行匹配模式。
[0022]优选的,所述预设模式为采用分级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
[0023]优选的,所述分级匹配模式包括两个阶段:
[0024]第一阶段为根据所述文本标识定位出文本段落;
[0025]第二阶段为采用次级匹配模式获取所述文本段落的属性条目,以获取相应的控件属性。
[0026]优选的,所述预设解析库为采用Java编写的标准通用标记语言解析库。
[0027]—种控件属性解析方法,应用于上述的控件属性解析系统,包括下述步骤:
[0028]步骤1.将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
[0029]步骤2.将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。上述技术方案的有益效果:
[0030]本技术方案中,控件属性解析系统通过把需要控制的控件对象抽象为具体文本标识,采用解析单元预先对网页面控件解析,从而获得控件属性定位文件,提高了自动化开发及测试效率。控件属性解析方法可在回归测试之前更新底层API的变量,避免回归测试的误报,减少了自动化开发和维护的成本。
【附图说明】
[0031]图1为本发明所述的控件属性解析系统的一种实施例的模块图;
[0032]图2为本发明所述解析单元的内部模块图;
[0033]图3为本发明所述的控件属性解析系统的一种实施例的控件属性解析方法流程图。
【具体实施方式】
[0034]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0036]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0037]如图1所示,一种控件属性解析系统,应用于网页控件的自动化测试中,包括:
[0038]—第一存储单元1,用以存储一与网页控件关联的列表,列表中包括复数个子列表,每个子列表包括一个控件的文本标识及相应的定位符变量名;
[0039]—过滤单元2,连接第一存储单元1,用以将列表中重复的文本标识对应的子列表滤除,并输出经过滤后的列表;
[0040]一第二存储单元3,用以存储网页的源代码;
[0041]—解析单元4,分别连接过滤单元2和第二存储单元3,用以将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性,根据控件属性获取相应的属性定位文件,并输出。
[0042]在本实施例中,列表为嵌套列表。控件属性解析系统通过把需要控制的控件对象抽象为具体文本标识,利用过滤单元2针对多个重复的文本标识符进行过滤,将超级文本标记语言(HyperText Markup Language,HTML)中无效的文本过滤掉,采用解析单元4可对脚本化页面控件进行定位符解析,提高了自动化开发的效率。本实施例可应用于自动化回归测试中,在测试的可执行(Setup)阶段,采用控件属性解析系统能更新底层API调用的页面控件定位符,可避免因页面控件属性变化而导致测试用例不通过的情况。
[0043]进一步地,子列表包括控件文本标识及与控件文本标识对应的控件定位符变量名。子列表的格式为[控件文本标识,控件定位符变量名]。
[0044]在本实施例中,可将网页用户界面控件抽象成脚本语言数据对象。该数据格式为嵌套列表,子列表包含[控件文本标识,控件定位符变量名]。这个抽象过程为整个属性解析的预备步骤,为解析单元4提供了素材,该抽象的行为只需在整个软件开发周期的需求阶段一次完成,后续维护即可。
[0045]在优选的实施例中,控件定位符变量名包括与控件对应的页面标识,与控件对应的控件类型标识及与控件对应的功能标识。控件定位符变量名的格式为:页面标识_控件类型标识_功能标识。
[0046]在本实施例中,将每个需要自动化的网页控件抽象为一个列表对象。子列表的具体结构为[控件文本标识,控件定位符变量名]。控件文本标识用于表示来源于本身自带的文本,该文本字符一般会出现在HTML中,使用字符串匹配即可找到控件相关的属性。一般情况下,网页中的一个单独控件都有唯一的标识,如带有“保存”文本的一个按钮,其文本标识为“保存”,其在
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1