一种基于推送机制的Android应用自动化测试方法技术

技术编号:13905184 阅读:122 留言:0更新日期:2016-10-26 06:18
本发明专利技术一种基于推送机制的Android应用自动化测试方法,属于移动互联网领域;具体步骤为:首先、将测试手机,PC机和录制测试脚本手机连接到同一个局域网中;在录制测试脚本手机上安装待测APP,模拟正常用户的使用状态,保存正常操作效果图并形成自动测试的脚本。然后,将自动测试脚本上传到PC机;PC机端将自动测试脚本及待测APP打包成消息,自动推送到测试手机中。最后,测试手机解析打包消息安装APP,并运行自动测试脚本,反馈测试结果;PC机端将测试结果存入结果列表数据库中;当所有的测试手机测试完毕后,PC机控制卸载测试手机的待测APP。优点在于:一台PC端同时与大量测试手机建立无线连接,通过推送进行测试任务分发,大大提高了测试效率。

【技术实现步骤摘要】

本专利技术属于移动互联网领域,涉及移动端应用质量检测,具体涉及一种基于推送机制的Android应用自动化测试方法
技术介绍
随着近几年移动互联网的迅猛发展和基于Android平台的智能手机、平板电脑的普及,Android平台应用的数量呈爆发性增长的趋势,越来越多的公司和个人开发者投入到Android应用的开发中。测试是软件开发流程中一个必不可少的环节,相对于传统的PC桌面应用成熟的自动化测试体系,Android应用的测试方法还处于发展的初期,以手动测试为主,尚缺一个符合Android应用特点的自动化测试方法。现有技术中,测试方法的流程主要是:先在PC上由测试人员录制好测试脚本,然后将待测试手机与PC相连,再将测试脚本传输到待测试的手机上,最后在待测试手机上运行测试脚本,通过获取应用中控件的位置,运用脚本触发控件,实现用户行为模拟获取测试结果。但是,现有的Android测试方法存在两个问题:一是,自动化程度较低;现有方法流程中含有大量重复性的人工操作,由此带来了测试效率低下,自动化程度低,人力成本高,容易产生人为偏差等一系列问题,已经无法满足日益增加的智能手机应用测试需求。二是,测试的手机数量有限;现有的方法基本上都需将测试用手机与PC进行物理上的连接(比如使用USB数据线),这样一来,受PC物理端口数量有限的限制,一台PC只能管理数量很少的测试用手机,若要在多个不同型号的手机上测试应用,需要多次更换物理连接,操作极为不便,效率低下。
技术实现思路
本专利技术针对现有技术中,由于PC物理端口数量有限,不能同时测试多数量的测试手机;而且测试手机需与PC通过USB相连接,操作不便的问题,提出了一种基于推送机制的Android应用自动化测试方法。具体步骤如下:步骤一、将测试手机,PC机和录制测试脚本手机连接到同一个局域网中;测试手机的数量为N台,N为整数。PC机一台;录制测试脚本手机一台;N个测试手机和录制测试脚本手机同时主动向PC机发起连接请求;每个测试手机向PC机发起HTTP长连接请求;PC机端主控程序建立活跃客户端列表,保存每个测试手机的相关信息;活跃客户端列表中记录的相关信息包括测试手机ID,测试手机的IP地址,发起连接的时间和目前正在执行的测试任务信息。步骤二、在录制测试脚本手机上安装要测试的某个APP,并点击该测试APP以模拟正常用户的使用状态,保存正常操作效果图,并形成自动测试的脚本。具体步骤如下:步骤201、在录制测试脚本手机上安装要测试的某个APP;步骤202、点击当前测试APP以模拟正常用户的使用状态,并捕捉屏幕触摸操作信息。屏幕触摸操作包括短暂点击和持续性滑动操作,捕捉的屏幕触摸操作信息包括:点击位置的坐标(X,Y)和时间戳Timestamp,此次触摸的持续时间T和滑动路径PATH;如果短暂点击操作的持续时间为0,设置滑动路径为空。步骤203、在捕捉屏幕触摸操作完毕后,系统自动进行手机屏幕截图操作,记录下本次操作的效果图,用于在后续测试环节中验证操作是否成功。步骤204、重复步骤202,对每个测试操作记录信息并保存每次测试操作对应的效果图,按时间顺序排列起来标以序号,形成自动测试的脚本。步骤三、将自动测试脚本上传到PC机。步骤四、PC机端将自动测试脚本及待测试APP打包成消息,通过HTTP长连接将消息自动推送到测试手机中。首先,PC机端在收到打包消息后,检查活跃客户端列表,寻找空闲的测试手机,用来执行测试任务。然后,将待测试的APP程序的安装文件与录制好的自动测试脚本打包为一个压缩包,通过HTTP协议的POST请求将压缩包推送给每个用来执行测试任务的测试手机。步骤五、测试手机解析打包消息安装APP,并运行自动测试脚本,反馈测试结果;具体步骤为:步骤501、每个测试手机接收到PC机主控程序发送的推送消息后,进行解析,安装消息中的待测试APP;步骤502、每个测试手机运行自动测试脚本,按照录制的步骤手动点击屏幕,并将点击后的手机屏幕截图与测试脚本中保存的手机屏幕截图进行比较;步骤503、每个测试手机完成测试后生成测试结果,并将此测试结果通过HTTP连接发
送回PC端主控程序。测试结果包括:测试脚本中的每个操作是否运行正常以及是否得到预期结果;步骤六、PC机端接收到测试手机发来的测试结果,存入结果列表数据库中,工作人员根据测试结果进一步完善待测试APP。步骤七、当所有的测试手机都发送测试结果后,PC机控制卸载所有测试手机的待测APP。本专利技术的优点在于:1)、一种基于推送机制的Android应用自动化测试方法,推送技术使用TCP连接完成任务的分发,解决了单台PC机USB端口有限,导致无法同时通过USB数据线连接多个测试手机的问题。2)、一种基于推送机制的Android应用自动化测试方法,一台PC端可同时与大量不同型号的测试手机建立无线连接,通过推送技术进行测试任务分发,大大提高了测试效率。3)、一种基于推送机制的Android应用自动化测试方法,手机无需与PC通过USB相连接即可完成测试,一台PC同时控制多个手机并测试,具有操作方便,同时测试手机数量多,提高测试效率与自动化程度高。附图说明图1是本专利技术一种基于推送机制的Android应用自动化测试方法的整体系统架构图;图2是本专利技术一种基于推送机制的Android应用自动化测试方法的流程图;图3是本专利技术录制测试脚本手机上安装APP,并生成自动测试脚本的流程图;图4是本专利技术测试手机解析APP运行自动测试脚本反馈测试结果的流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本专利技术一种基于推送机制的Android应用自动化测试方法,如图1所示,本系统基于三个部分:多台测试手机,一台PC机和一台录制测试脚本手机,其中PC机端系统为windows或linux,录制测试脚本手机与测试手机的系统均为Android系统;多台测试手机和录制测试脚本手机同时连接到PC机上,通过在录制测试脚本手机上手动点击屏幕,录制好测试脚本,之后系统自动将录制好的脚本上传到PC机,然后从PC机分发到各个测试手机,进行测试并收集结果。除了第一次录制脚本外完全不需要人工操作,大大提高了测试自动化程度。如图2所示,具体步骤如下:步骤一、将测试手机,PC机和录制测试脚本手机连接到同一个局域网中;三者位于同一个局域网可互相访问,目前最常见的连接方法是手机使用WIFI连接到局域网中。测试手机的数量为N台,内部均含有本系统的测试脚本执行程序;N为整数;PC机一台,含有本系统的主控程序;录制测试脚本手机一台,含有本系统的测试脚本录制程序;录制测试脚本手机和N台测试手机同时连接到PC上,测试手机上的测试脚本执行程序通过servlet3提供的异步处理特性发起一个基于HTTP1.1协议的长连接,连接到PC机上的主控程序。具体连接步骤为:首先、录制测试脚本手机连接到PC机上;然后、N个测试手机同时主动向PC机发起连接请求;测试手机与PC机端主控程序的通信依靠HTTP协议,HTTP协议1.1版本规定了长连接,该连接会持续存在直到通信的某一方主动断开;每个测试手机端的程序向PC机上的主控端程序发起HTTP长连接请求,该HTTP长连接保持不断直到该测试手机不再被用于测试。连接由测试手本文档来自技高网
...

【技术保护点】
一种基于推送机制的Android应用自动化测试方法,其特征在于,具体步骤如下:步骤一、将测试手机,PC机和录制测试脚本手机连接到同一个局域网中;测试手机的数量为N台,N为整数;N台测试手机和录制测试脚本手机同时主动向PC机发起连接请求;每个测试手机向PC机发起HTTP长连接请求;PC机端主控程序建立活跃客户端列表,保存每个测试手机的相关信息;步骤二、在录制测试脚本手机上安装要测试的某个APP,并点击该测试APP以模拟正常用户的使用状态,保存正常操作效果图,并形成自动测试的脚本;步骤三、将自动测试脚本上传到PC机;步骤四、PC机端将自动测试脚本及待测试APP打包成消息,通过HTTP长连接将消息自动推送到测试手机中;步骤五、测试手机解析打包消息安装APP,并运行自动测试脚本,反馈测试结果;步骤六、PC机端接收到测试手机发来的测试结果,存入结果列表数据库中,工作人员根据测试结果进一步完善待测试APP;步骤七、当所有的测试手机都发送测试结果后,PC机控制卸载所有测试手机的待测APP。

【技术特征摘要】
1.一种基于推送机制的Android应用自动化测试方法,其特征在于,具体步骤如下:步骤一、将测试手机,PC机和录制测试脚本手机连接到同一个局域网中;测试手机的数量为N台,N为整数;N台测试手机和录制测试脚本手机同时主动向PC机发起连接请求;每个测试手机向PC机发起HTTP长连接请求;PC机端主控程序建立活跃客户端列表,保存每个测试手机的相关信息;步骤二、在录制测试脚本手机上安装要测试的某个APP,并点击该测试APP以模拟正常用户的使用状态,保存正常操作效果图,并形成自动测试的脚本;步骤三、将自动测试脚本上传到PC机;步骤四、PC机端将自动测试脚本及待测试APP打包成消息,通过HTTP长连接将消息自动推送到测试手机中;步骤五、测试手机解析打包消息安装APP,并运行自动测试脚本,反馈测试结果;步骤六、PC机端接收到测试手机发来的测试结果,存入结果列表数据库中,工作人员根据测试结果进一步完善待测试APP;步骤七、当所有的测试手机都发送测试结果后,PC机控制卸载所有测试手机的待测APP。2.如权利要求1所述的一种基于推送机制的Android应用自动化测试方法,其特征在于,步骤一中,所述的活跃客户端列表中记录的相关信息包括测试手机ID,测试手机的IP地址,发起连接的时间和目前正在执行的测试任务信息。3.如权利要求1所述的一种基于推送机制的Android应用自动化测试方法,其特征在于,所述的步骤二,具体步骤为:步骤201、在录制测试脚本手机上安装要测试的某个APP;步骤202、点击当前测试APP以模拟正常用户的使用状...

【专利技术属性】
技术研发人员:郭燕慧欧阳林澍王自豪张淼
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

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

1