手机应用自动化测试方法及系统技术方案

技术编号:9959373 阅读:121 留言:0更新日期:2014-04-23 19:26
本发明专利技术公开了一种手机应用自动化测试方法及系统,该方法包括:S1、建立计算机对手机的控制;S2、将待测试的应用安装于手机端;S3、获取待测试的应用在测试中涉及的组件信息,如果存在下一个待测试的应用则转步骤S2;S4、根据组件信息编写对应的测试脚本;S5、触发脚本执行器发送测试脚本到手机端批量执行,完成对步骤S2中安装于手机端的所有待测试的应用的自动化测试。本发明专利技术根据应用在测试中涉及到的组件信息,编写测试脚本;用户只需在计算机端输入测试命令,即可触发脚本执行器完成对所有待测试的应用的自动化测试,提供一种手机应用的黑盒测试,通过可视化的脚本方式实现自动化测试,让普通测试人员快速高效的完成手机应用的批量测试。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种手机应用自动化测试方法及系统,该方法包括:S1、建立计算机对手机的控制;S2、将待测试的应用安装于手机端;S3、获取待测试的应用在测试中涉及的组件信息,如果存在下一个待测试的应用则转步骤S2;S4、根据组件信息编写对应的测试脚本;S5、触发脚本执行器发送测试脚本到手机端批量执行,完成对步骤S2中安装于手机端的所有待测试的应用的自动化测试。本专利技术根据应用在测试中涉及到的组件信息,编写测试脚本;用户只需在计算机端输入测试命令,即可触发脚本执行器完成对所有待测试的应用的自动化测试,提供一种手机应用的黑盒测试,通过可视化的脚本方式实现自动化测试,让普通测试人员快速高效的完成手机应用的批量测试。【专利说明】手机应用自动化测试方法及系统
本专利技术涉及应用测试领域,尤其涉及一种手机应用自动化测试方法及系统。
技术介绍
随着智能手机大规模上市,作为主流的Android手机也日益普及。开发Android应用的个人和企业也越来越多,如何对手机应用进行快速高效测试成为日益迫切的问题。目前对手机应用的测试有以下几种:一是,靠人工测试,由测试人员手工操作测试应用完成测试工作。二是,基于图片识别技术,编写测试脚本中包含图片元素,通过识别指定的图片定位到手机应用的位置进行操作实现自动化测试工作。三是,开发者通过了解应用的源码编写测试用例进行测试,属于白盒测试。上述方法存在以下缺陷:第一种人工测试的方法方式耗费人力,效率低下,不适合大规模测试使用。第二种基于图片识别技术的自动化方式,由于脚本执行的成功与否很大程度上依赖于图片的识别,如果图片背景发生变化(如手机主题不一致、或应用位置变化)会导致无法找到指定的图片而无法定位到手机应用的位置,导致执行失败。所以这种方式编写的脚本只能针对同一型号手机执行,需要人工维护的成本比较高。第三种,手机应用的白盒测试方式需要了解具体手机应用的源码,所以对所测试的应用有一定的限制,即只能测试对测试人员而言开源的应用。另一方面白盒测试的方式对测试人员要求较高,需要有一定的android基础知识,不适用普通测试人员。同时由于需要读懂源码比较耗时,效率不高。因此,现有技术存在缺陷,需要改进。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述耗费人力、不适合大规模测试、适用性狭窄、效率不高等缺陷,提供一种手机应用自动化测试方法及系统。本专利技术解决其技术问题所采用的技术方案是:构造一种手机应用自动化测试方法,基于Android手机实现,所述方法通过计算机界面接收测试命令并在手机上实现批量应用的自动化测试,所述方法包括以下步骤:S1、建立手机与计算机之间的通信连接,并建立计算机对手机的远程控制;S2、在计算机端操作将待测试的应用安装于手机端;S3、计算机端获取步骤S2中安装于手机端的所述待测试的应用在测试中涉及到的组件信息,如果存在下一个待测试的应用则转步骤S2 ;S4、对应于步骤S2中安装的每个所述待测试的应用,测试人员根据对应的所述组件信息利用脚本工具编写对应的测试脚本;S5、、用户在计算机端输入测试命令,触发计算机内的脚本执行器发送测试脚本到手机端批量执行,完成对步骤S2中安装于手机端的所有待测试的应用的自动化测试。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S5包括:S51、所述脚本执行器触发启动手机端的测试模块;S52、所述测试模块启动后,所述脚本执行器获取一个测试脚本作为当前待测试脚本;S53、所述测试模块接收所述脚本执行器转发的当前待测试脚本,并自动执行所述当前待测试脚本的所有步骤;S54、脚本执行器判断是否存在下一个测试脚本,若是,则选定下一个测试脚本为当前待测试脚本,转步骤S53,否则转步骤S55 ;S55、结束测试,所述测试模块返回测试结果至脚本执行器,所述脚本执行器返回测试结果给用户并关闭所述测试模块。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S51包括:S51-1:用户输入测试命令,所述脚本执行器发起一个安装或者设置待测试的应用的请求,并将所述请求经计算机端的远程控制模块转发到手机端的远程控制服务模块;S51-2:所述远程控制服务模块启动测试工具类;S51-3:启动所述测试模块中的web服务器和所述测试模块中的所述测试工具类实例化的测试单元;S51-4:待web服务器和测试单元都成功启动,所述远程控制服务模块经所述远程控制模块通知所述脚本执行器测试模块已经待命,可以开始执行测试命令。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S51-3包括:S51-3-1:启动所述web服务器;S51-3-2:启动所述测试工具类实例化的测试单元;S51-3-3:所述测试单元开始启动和监听当前待测试脚本对应的待测试的应用,待所述待测试的应用启动成功,所述测试单元实例化工具类得到Robotium工具;再等待步骤S51-2-1中的所述web服务器启动成功;S51-3-4:所述web服务器启动成功后,通知所述测试单元,所述测试单元将所述web服务器设置为准备状态;S51-3-5:所述web服务器通知所述远程控制服务模块HTTP服务进入准备状态,开始接受测试命令,所述测试单元等待所述web服务器启动成功后,通知所述远程控制服务模块所述测试单元成功启动。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S53包括:S53-1:所述脚本执行器选定当前待测试脚本的一个步骤作为当前待测试步骤;S53-2:所述脚本执行器发送执行当前待测试步骤的测试命令,所述测试命令先后经计算机端的远程控制模块和手机端的远程控制服务模块转发到所述测试模块中的web服务器;S53-3:所述web服务器解析所述测试命令,然后将所述测试命令转发给所述测试模块中的测试单元处理;S53-4:所述测试单元根据所述测试命令通过Robotium工具操作当前待测试步骤中组件信息所定位的组件以完成当前待测试步骤;S53-5:所述测试单元等待当前待测试步骤执行完毕或者出错,返回测试结果给所述web服务器;S53-6:所述web服务器接收到所述测试结果,并先后经所述远程控制服务模块和远程控制模块转发到所述脚本执行器;S53-7:所述脚本执行器判断当前待测试脚本是否存在下一个测试步骤,如果是,则选定下一个测试步骤为当前待测试步骤,并转步骤S53-2,否则转步骤S54。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S55中所述的关闭所述测试模块包括:S55-1:脚本执行器发送结束测试命令,所述结束测试命令先后经计算机端的远程控制模块和手机端的远程控制服务模块转发到所述测试模块中的web服务器;S55-2:所述web服务器通知所述测试模块中的测试单元所述web服务器已经退出,HTTP服务已经关闭;S55-3:所述测试单元关闭当前待测试脚本对应的应用,并通知测试工具类结束测试。本专利技术所述的手机应用自动化测试方法,其中,所述步骤S3中的所述组件信息包括:组件的id、text、name、cIassname和index,且组件信息的优先级为:id>text>name>c IassnameMndex0本专利技术所述的手机应用自动化测试方法,其中,所述步骤S4具体包括:根据所述组件信息的优本文档来自技高网
...

【技术保护点】
一种手机应用自动化测试方法,基于Android手机实现,所述方法通过计算机界面接收测试命令并在手机上实现批量应用的自动化测试,其特征在于,所述方法包括以下步骤:S1、建立手机与计算机之间的通信连接,并建立计算机对手机的远程控制;S2、在计算机端操作将待测试的应用安装于手机端;S3、计算机端获取步骤S2中安装于手机端的所述待测试的应用在测试中涉及到的组件信息,如果存在下一个待测试的应用则转步骤S2;S4、对应于步骤S2中安装的每个所述待测试的应用,测试人员根据对应的所述组件信息利用脚本工具编写对应的测试脚本;S5、用户在计算机端输入测试命令,触发计算机内的脚本执行器发送测试脚本到手机端批量执行,完成对步骤S2中安装于手机端的所有待测试的应用的自动化测试。

【技术特征摘要】

【专利技术属性】
技术研发人员:张晶晶
申请(专利权)人:中国移动深圳有限公司
类型:发明
国别省市:广东;44

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

1