用于关键字驱动测试的对象库的更新方法及系统的制作方法

文档序号:9750725阅读:559来源:国知局
用于关键字驱动测试的对象库的更新方法及系统的制作方法
【技术领域】
[0001]本发明涉及移动终端测试领域,具体而言,本发明涉及一种用于关键字驱动测试的对象库的更新方法及系统。
【背景技术】
[0002]随着Android移动终端(例如手机)功能越来越复杂,Android手机软件测试投入的人力越来越多,测试成本越来越高。传统的人工测试很难满足日益增长的Android手机软件测试需求。实施手机自动化测试已经成为一种趋势。主流的自动化测试方法的演变经历了基于录制回放的测试,数据驱动测试和关键字驱动测试等。其中,关键字驱动测试是目前最为流行和高效的自动化测试方法。关键字测试的主要思路是以面向对象的方式来管理被测应用的对象、对象的相关操作、测试数据以及这些测试数据之间的组合关系。关键字驱动是自动化测试中行之有效的方式,它可以帮助测试工程师更方便的维护测试脚本、构建复杂的业务逻辑测试用例、并节省手工测试的执行时间(尤其是在回归测试阶段)。在基于关键字驱动的自动化测试中,所有东西都被抽象成关键字,但是关键字要映射成程序可识别的程序对象。对象库是用于储存被测应用程序界面对象(界面元素)的地方。自动化测试用例还是需要测试人员或者测试开发人员来编写的,脚本的编写需要依赖对象库,可以说对象库是关键字驱动测试的关键点。有了它,用户可以更容易的维护被测对象、更快速的构建测试脚本。如果对象都保存在对象库,它们可以被集中管理。与此同时,测试脚本(一个或多个)可以根据自身也许需求随意调用这些对象来使用。这使得多位测试工程师协同开发测试脚本成为可能。
[0003]在基于关键字驱动的自动化测试框架,对于对象库的维护,现在的做法是,框架开发出来之后,让测试人员或者测试开发人员用工具查看对象的属性信息,然后将其存到WEB页面或EXCEL文件里面,即大部分对象库的维护都是人工完成的,导致对象库维护效率较低,没有实现对象库的自动维护,其不能和整个自动化测试框架有效集成起来。

【发明内容】

[0004]本发明的主要目的旨在解决上述至少一个问题,提供一种用于关键字驱动测试的对象库的更新方法和系统。
[0005]为了实现上述目的,本发明相应采用如下各种技术方案:
[0006]本发明提供的一种用于关键字驱动测试的对象库的更新方法,包括以下步骤:
[0007]向移动终端注入用于侦测测试应用的侦测应用;
[0008]运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
[0009]对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
[0010]将视图对象的属性数组同步至数据服务器;
[0011]根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
[0012]进一步地,所述运行侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息,包括:
[0013]在所述测试应用的功能组件调用的入口建立钩子函数;
[0014]当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
[0015]进一步地,根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新包括:
[0016]对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
[0017]将过滤后的所述视图对象的属性数组存储到对象库中。
[0018]进一步地,所述将视图对象的属性数组同步至数据服务器,包括:
[0019]将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
[0020]将所述数据交换格式文件输出到所述数据服务器。
[0021]进一步地,所述视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动结构信息。
[0022]进一步地,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
[0023]进一步地,所述移动终端与所述数据库服务器通过无线连接进行通讯。
[0024]本发明提供的一种用于关键字驱动测试的对象库的更新系统,包括:
[0025]系统注入单元,用于向移动终端注入用于侦测测试应用的侦测应用;
[0026]提取单元,用于运行所述侦测应用提取所述移动终端运行测试应用时测试界面的视图对象的信息;
[0027]结构分析单元,用于对所述视图对象的信息进行结构分析,确定视图对象的属性数组;
[0028]数据同步单元,用于将视图对象的属性数组同步至数据服务器;
[0029]更新单元,用于根据所述视图对象的属性数组,对所述数据服务器中的所述对象库进行更新。
[°03°] 进一步地,所述提取单元用于
[0031]在所述测试应用的功能组件调用的入口建立钩子函数;
[0032]当调用所述功能组件时,利用所述钩子函数提取所述功能组件运行时测试界面的视图对象的信息。
[0033]进一步地,所述更新单元包括:
[0034]数据接收处理模块,用于对所述视图对象的属性数组进行过滤,去除对所述对象库进行安全保护时不需要的信息项;
[0035]数据存储模块,用于将将过滤后的所述视图对象的属性数组存储到对象库中。
[0036]进一步地,所述数据同步单元用于:
[0037]将所述视图对象的属性数组,实例化为对象,并将所述对象序列化为相对于所述视图对象的属性数组的轻量级的数据交换格式文件;
[0038]将所述数据交换格式文件输出到所述数据服务器。
[0039]进一步地,所述视图对象的信息包括所述视图对象的属性信息以及与所述视图对象对应的活动结构信息。
[0040]进一步地,所述视图对象的属性数组包括所述视图对象的类、类的属性信息,类的位置以及类之间的层级关系。
[0041]相比现有技术,本发明的方案具有以下优点:
[0042]通过本发明的方法和系统解决了关键字驱动自动化测试中对象库的维护问题,在不需要增加额外成本投入的情况下,充分利用现有资源,仅需通过移动终端的日常测试操作,自动完成了对象库的录制,实现了对象库中对象的自动更新和添加,提升了自动化测试维护的效率。
[0043]显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。
[0044]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0045]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0046]图1为本发明一种用于关
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1