一种webkit单元测试方法及装置制造方法

文档序号:6501134阅读:187来源:国知局
一种webkit单元测试方法及装置制造方法
【专利摘要】本发明适用于软件测试【技术领域】,提供了一种webkit单元测试方法及装置,所述方法包括:启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。本发明,通过javascript绑定实现了移动终端浏览器webkit单元测试。
【专利说明】—种webkit单元测试方法及装置

【技术领域】
[0001]本发明属于软件测试【技术领域】,尤其涉及一种webkit单元测试方法及装置。

【背景技术】
[0002]webkit是一个开源的浏览器内核,其中webkit的源码结构清晰,渲染速度快,易于维护,而被广泛使用。webkit中每个html页面对应于一颗dom树和render树,dom树用于描述html页面的的信息,而render树则用于布局,具体负责dom树如何显示在屏幕上。目前,webkit被广泛应用于Safari, Dashboard, Mail和其他一些Mac OS X程序。这些程序的运行质量最基础的保障就是webkit单元测试。其中单元的含义是人为规定的最小的被测功能模块。
[0003]现有webkit单元测试方法就是在webkit内核源代码中增加测试用例,然后一起编译,根据执行结果来判断测试结果是否达到我们的预期目标。不难看出这种webkit测试只是对render树做单元测试,测试不全面,而且测试需要源码,同时,编译时也需要将测试代码编译到软件版本中,在版本编译时可以通过脚本控制编译出测试版本与非测试版本,测试结果查看不方便。


【发明内容】

[0004]本发明实施例提供了一种webkit单元测试方法及装置,旨在解决现有webkit单元测试方法进行单元测试时需要源码,只是对webkit的render树做单元测试,同时,测试结果查看不方便的问题。
[0005]本发明,提供一种webkit单元测试方法,所述方法包括:
[0006]启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;
[0007]在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript 绑定;
[0008]编译所述待测试模块,生成测试用例对象;
[0009]搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
[0010]另一方面,提供一种webkit单元测试装置,所述装置包括:
[0011 ] 用例编写单元,用于启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;
[0012]绑定单元,用于在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;
[0013]编译单元,用于编译所述待测试模块,生成测试用例对象;
[0014]测试单元,用于搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
[0015]在本发明实施例,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果,本发明,通过javascript绑定实现了移动终端浏览器webkit单元测试,方便查看测试结果。

【专利附图】

【附图说明】
[0016]图1是本发明实施例一提供的webkit单元测试方法的实现流程图;
[0017]图2是本发明实施例一提供的编译过程时序图;
[0018]图3是本发明实施例一提供的测试过程时序图。
[0019]图4本发明实施例二提供的webkit单元测试装置的具体结构图

【具体实施方式】
[0020]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]在本发明实施例中,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
[0022]以下结合具体实施例对本发明的实现进行详细描述:
[0023]实施例一
[0024]图1示出了本发明实施例一提供的webkit单元测试方法的实现流程,详述如下:
[0025]在步骤SlOl中,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例。
[0026]在本实施例中,所述单元测试框架模块是JavaScript的开源单元测试框架,包括jsunit模块。所述预设目录是预先设定用于保存测试用例的目录。所述接口语言用于规定接入对象的行为,优选的,所述接口语言包括接口描述语言(Interface Descript1nLanguage, IDL),其中,接口描述语言为万维网联盟(World Wide Web Consortium, W3C)定义的一个接口定义语言。所述启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例,当使用IDL时,所述测试用例包括.1dl和.h、.cpp文件。
[0027]在步骤S102中,在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定。
[0028]在本实施例中,所述待测试模块是webkit需要进行测试的最小功能模块。所述待测试模块的编译配置文件具体是指待测试模块保存目录下的android, mk文件。所述Javascript绑定是webcore通过接口描述语言实现与javascript引擎的绑定,具体原理是webkit通过peri解析.idl文件生成.h、.cpp源码实现与外部javascript引擎提供的javascript对象、方法、属性的绑定,可以通过自定义IDL方式可以扩展javascript引擎提供的本地对象。当在待测试模块的jsnuit目录下编写测试用例时,其实现代码具体为:
[0029]M0DULE_PATH:=$(call my-dir);
[0030]include$(MT_BUILD_MODULE);
[0031]include$(MT_BUILD_JSUNIT_MODULE);
[0032]与webkit本身的绑定不同的是,因为这个android, mk文件是在扫描jsunit目录之后根据目录下的文件来生成的,所以,在jsunit目录下添加新的.1dl和.h、.cpp文件之后,Android, mk文件会自动更新,无需手动修改。
[0033]在步骤S103中,编译所述待测试模块,生成测试用例对象。
[0034]在本实施例中,所述测试用例对象用于调用模块名称的方法访问所有测试用例。所述编译所述待测试模块,生成测试用例对象,具体包括:
[0035]步骤11,加载所述待测试模块的可选模块和读取相应的配置文件的配置参数;
[0036]步骤12,根据所述配置参数,套用系统模板生成绑定配置文件;
[0037]步骤13,通过追加方式将所述可选模块和所述绑定配置文件添加到相应Windows对象上,生成测试用例对象。
[0038]具体的,通过supplemental方式添加到window对象下的,所以也不需要修改DOMWindow相关的文件。
[0039]在步骤S104中,搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
[0040]在本实施例中,所述测试网页调用测试用例对象的相应方法及属性。以jsUnit为例,在接收到jsUnit之后,测试网页逐层的扫描jsUnit的属性或者方法,将扫描到的树状的结果生成网页元素。测试页面对应的树上所有的叶子节点都是测试方法,并且所有的测试方法都会接受一个回调函数,并且将测试结果作为回调函数的参数传给回调函数。网页通过调用这些方法,获取到测试结果,并在网页上展示出来。搭建wed服务器,部署该测试网页。
[0041]优选的,还可以通过服务器来架设一个完整的云测试后台。在程序的每日更新流程中,可加入在生成了最新的二进制程序之后,就自动提交到云测试平台上,通过打开网页的形式自动完成单元测试的执行,配合后台的信息收集能力,可以立刻将单元测试的结果通过图表及邮件的形式,第一时间发送给关注的人。
[0042]在本实施例中,所述搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果,具体包括:
[0043]步骤21,搭建wed服务器,部署调用所述测试用例对象的测试网页;
[0044]步骤22,移动终端访问所述测试页面;
[0045]步骤23,所述测试页面调用与其关联的所述测试用例对象的方法、属性,通过回调函数获得测试结果,并在网页上显示所述测试结果。
[0046]具体的,通过测试用例对象调用测试用例里对应的实现函数,进而获取测试结果。
[0047]其中,以Html5模块为具体目标对象描述本实施例的适用场景,进行描述如下:
[0048]Html5待测试模块其基本情况如下:
[0049]

【权利要求】
1.一种webkit单元测试方法,其特征在于,所述方法包括: 启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例; 在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定; 编译所述待测试模块,生成测试用例对象; 搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
2.如权利要求1所述的方法,其特征在于,所述接口语言包括接口描述语言IDL。
3.如权利要求1所述的方法,其特征在于,所述编译所述待测试模块,生成测试用例对象,具体包括: 加载所述待测试模块的可选模块和读取相应的配置文件的配置参数; 根据所述配置参数,套用系统模板生成绑定配置文件; 通过追加方式将所述可选模块和所述绑定配置文件添加到相应Windows对象上,生成测试用例对象。
4.如权利要求1、2或3所述的方法,其特征在于,所述搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果,具体包括: 搭建wed服务器,部署调用所述测试用例对象的测试网页; 移动终端访问所述测试页面; 所述测试页面调用与其关联的所述测试用例对象的方法、属性,通过回调函数获得测试结果,并在网页上显示所述测试结果。
5.一种webkit单元测试装置,其特征在于,所述装置包括: 用例编写单元,用于启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例; 绑定单元,用于在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的 Javascript 绑定; 编译单元,用于编译所述待测试模块,生成测试用例对象; 测试单元,用于搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。
6.如权利要求5所述的装置,其特征在于,所述编译单元具体用于加载所述待测试模块的可选模块和读取相应的配置文件的配置参数;根据所述配置参数,套用系统模板生成绑定配置文件;通过追加方式将所述可选模块和所述绑定配置文件添加到相应Windows对象上,生成测试用例对象。
7.如权利要求5或6所述的装置,其特征在于,所述测试单元具体用于搭建wed服务器,部署调用所述测试用例对象的测试网页;移动终端访问所述测试页面;所述测试页面调用与其关联的所述测试用例对象的方法、属性,通过回调函数获得测试结果,并在网页上显示所述测试结果。
【文档编号】G06F11/36GK104077213SQ201310100776
【公开日】2014年10月1日 申请日期:2013年3月26日 优先权日:2013年3月26日
【发明者】姜珊, 吴景, 刘毅, 朱传聪, 樊华, 阮曙东 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1