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

技术编号:10489664 阅读:166 留言:0更新日期:2014-10-03 17:45
本发明专利技术适用于软件测试技术领域,提供了一种webkit单元测试方法及装置,所述方法包括:启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。本发明专利技术,通过javascript绑定实现了移动终端浏览器webkit单元测试。

【技术实现步骤摘要】
—种webkit单元测试方法及装置
本专利技术属于软件测试
,尤其涉及一种webkit单元测试方法及装置。
技术介绍
webkit是一个开源的浏览器内核,其中webkit的源码结构清晰,渲染速度快,易于维护,而被广泛使用。webkit中每个html页面对应于一颗dom树和render树,dom树用于描述html页面的的信息,而render树则用于布局,具体负责dom树如何显示在屏幕上。目前,webkit被广泛应用于Safari, Dashboard, Mail和其他一些Mac OS X程序。这些程序的运行质量最基础的保障就是webkit单元测试。其中单元的含义是人为规定的最小的被测功能模块。 现有webkit单元测试方法就是在webkit内核源代码中增加测试用例,然后一起编译,根据执行结果来判断测试结果是否达到我们的预期目标。不难看出这种webkit测试只是对render树做单元测试,测试不全面,而且测试需要源码,同时,编译时也需要将测试代码编译到软件版本中,在版本编译时可以通过脚本控制编译出测试版本与非测试版本,测试结果查看不方便。
技术实现思路
本专利技术实施例提供了一种webkit单元测试方法及装置,旨在解决现有webkit单元测试方法进行单元测试时需要源码,只是对webkit的render树做单元测试,同时,测试结果查看不方便的问题。 本专利技术,提供一种webkit单元测试方法,所述方法包括: 启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例; 在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript 绑定; 编译所述待测试模块,生成测试用例对象; 搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。 另一方面,提供一种webkit单元测试装置,所述装置包括: [0011 ] 用例编写单元,用于启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例; 绑定单元,用于在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定; 编译单元,用于编译所述待测试模块,生成测试用例对象; 测试单元,用于搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。 在本专利技术实施例,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果,本专利技术,通过javascript绑定实现了移动终端浏览器webkit单元测试,方便查看测试结果。 【附图说明】 图1是本专利技术实施例一提供的webkit单元测试方法的实现流程图; 图2是本专利技术实施例一提供的编译过程时序图; 图3是本专利技术实施例一提供的测试过程时序图。 图4本专利技术实施例二提供的webkit单元测试装置的具体结构图 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 在本专利技术实施例中,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。 以下结合具体实施例对本专利技术的实现进行详细描述: 实施例一 图1示出了本专利技术实施例一提供的webkit单元测试方法的实现流程,详述如下: 在步骤SlOl中,启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例。 在本实施例中,所述单元测试框架模块是JavaScript的开源单元测试框架,包括jsunit模块。所述预设目录是预先设定用于保存测试用例的目录。所述接口语言用于规定接入对象的行为,优选的,所述接口语言包括接口描述语言(Interface Descript1nLanguage, IDL),其中,接口描述语言为万维网联盟(World Wide Web Consortium, W3C)定义的一个接口定义语言。所述启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例,当使用IDL时,所述测试用例包括.1dl和.h、.cpp文件。 在步骤S102中,在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定。 在本实施例中,所述待测试模块是webkit需要进行测试的最小功能模块。所述待测试模块的编译配置文件具体是指待测试模块保存目录下的android, mk文件。所述Javascript绑定是webcore通过接口描述语言实现与javascript引擎的绑定,具体原理是webkit通过peri解析.idl文件生成.h、.cpp源码实现与外部javascript引擎提供的javascript对象、方法、属性的绑定,可以通过自定义IDL方式可以扩展javascript引擎提供的本地对象。当在待测试模块的jsnuit目录下编写测试用例时,其实现代码具体为: M0DULE_PATH:=$(call my-dir); include$(MT_BUILD_MODULE); include$(MT_BUILD_JSUNIT_MODULE); 与webkit本身的绑定不同的是,因为这个android, mk文件是在扫描jsunit目录之后根据目录下的文件来生成的,所以,在jsunit目录下添加新的.1dl和.h、.cpp文件之后,Android, mk文件会自动更新,无需手动修改。 在步骤S103中,编译所述待测试模块,生成测试用例对象。 在本实施例中,所述测试用例对象用于调用模块名称的方法访问所有测试用例。所述编译所述待测试模块,生成测试用例对象,具体包括: 步骤11,加载所述待测试模块的可选模块和读取相应的配置文件的配置参数; 步骤12,根据所述配置参数,套用系统模板生成绑定配置文件; 步骤13,通过追加方式将所述可选模块和所述绑定配置文件添加到相应Windows对象上,生成测试用例对象。 具体的,通过supplemental方式添加到window对象下的,所以也不需要修改DOMWindow相关的文件。 在步骤S104中,搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。 在本实施例中,所述测试网页调用测试用例对象的相应方法及属性。以jsUnit为例,在接收到jsUnit之后,测试网页逐层的扫描jsUnit的属性或者方法,将扫描到的树状的结果生成网页元素。测试页面对应的树上所有的叶子节点都是测试方法,并且所有的测试方法都会接受一个回调函数,并且将测试结果作为回调函数的参数传给回调函数。网页通过调用这些方本文档来自技高网...

【技术保护点】
一种webkit单元测试方法,其特征在于,所述方法包括:启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例;在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定;编译所述待测试模块,生成测试用例对象;搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。

【技术特征摘要】
1.一种webkit单元测试方法,其特征在于,所述方法包括: 启动单元测试框架模块,在预设目录下,使用接口语言编写基于单元测试框架的测试用例; 在待测试模块的编译配置文件中设置所述待测试模块与所述测试用例的Javascript绑定; 编译所述待测试模块,生成测试用例对象; 搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果。2.如权利要求1所述的方法,其特征在于,所述接口语言包括接口描述语言IDL。3.如权利要求1所述的方法,其特征在于,所述编译所述待测试模块,生成测试用例对象,具体包括: 加载所述待测试模块的可选模块和读取相应的配置文件的配置参数; 根据所述配置参数,套用系统模板生成绑定配置文件; 通过追加方式将所述可选模块和所述绑定配置文件添加到相应Windows对象上,生成测试用例对象。4.如权利要求1、2或3所述的方法,其特征在于,所述搭建wed服务器,部署并访问调用所述测试用例对象的测试网页,获得测试结果,具体包括: 搭建wed服务器,部署调用所述测试用例对象的测试网页; 移动终端访问所述测试页面; 所述测试页面调用与其关联的所述测试用例对...

【专利技术属性】
技术研发人员:姜珊吴景刘毅朱传聪樊华阮曙东
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1