[发明专利]一种基于Monkey命令的应用测试方法、装置及终端有效
| 申请号: | 201510303641.9 | 申请日: | 2015-06-05 | 
| 公开(公告)号: | CN104866427B | 公开(公告)日: | 2018-01-23 | 
| 发明(设计)人: | 张润琦 | 申请(专利权)人: | 北京金山安全软件有限公司 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫,熊永强 | 
| 地址: | 100085 北京*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 monkey 命令 应用 测试 方法 装置 终端 | ||
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于Monkey命令的应用测试方法、装置及终端。
背景技术
Monkey命令是谷歌提供的测试稳定性的命令行工具。虽然通过-p参数可以指定被测试的应用包的名称。但实际测试中,经常会遇到无法有效控制随机事件,而使之后的测试失去价值的情况。
例如,以测试“清理大师的稳定情况”为例,Monkey命令的格式为adb shell monkey–p com.cleanmaster.mguard_cn 30000,即指定针对“清理大师”这个应用执行3万个伪随机事件。但在实际测试中,可能会在执行到5000个事件的时候,触发了home键事件,回到主屏,此后,Monkey命令控制终端进入到了另一个应用,如“QQ”,此时在有效Monkey进程结束之前,剩下的随机事件已经不发生在“清理大师中”,也自然不是针对“清理大师”的有效测试,属于无效测试。可见,目前基于Monkey命令的应用测试无法保证尽可能多的有效测试。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于Monkey命令的应用测试方法、装置及终端,以尽可能保证基于Monkey命令的应用测试中的有效测试,提高应用测试的有效性。
为了解决上述技术问题,本发明实施例提供了一种基于Monkey命令的应用测试方法,包括:
接收针对目标应用的Monkey命令,所述Monkey命令包括所述目标应用的至少两个测试入口、预设的针对各测试入口的伪随机事件数量,以及预设的伪随机事件总数;
响应所述Monkey命令,运行所述目标应用;
分别将各测试入口作为Monkey的入口,执行针对该测试入口的伪随机事件;
在所述针对该测试入口的伪随机事件的执行过程中,监测终端最上层窗口的窗口名与该测试入口对应的窗口名是否匹配;
若不匹配,暂停执行所述针对该测试入口的伪随机事件,控制终端将窗口名与该测试入口对应的窗口名匹配的窗口设置为最上层窗口,并继续执行所述针对该测试入口的伪随机事件;
当所述目标应用的至少两个测试入口均测试完成,且伪随机事件的执行总数达到所述预设的伪随机事件总数,确定所述目标应用测试完成。
其中,所述分别将各测试入口作为Monkey的入口,并执行所述针对该测试入口的伪随机事件包括以下步骤:
步骤A1、将任一未测试的测试入口作为Monkey的入口,并执行针对该测试入口的伪随机事件;
步骤B1、当针对该测试入口的伪随机事件的执行数量达到预设的针对该测试入口的伪随机事件数量时,判断是否存在未测试的测试入口,若判断为是,转至步骤A1;否则,确定所述目标应用的至少两个测试入口均测试完成。
其中,所述分别将各测试入口作为Monkey的入口,并执行所述针对该测试入口的伪随机事件包括以下步骤:
步骤A2、按照预先设定的测试顺序,将为测试的测试入口中测试顺序最优的测试入口作为Monkey的入口,执行针对该测试入口的伪随机事件;
步骤B2、当针对该测试入口的伪随机事件的执行数量达到所述预设的针对该测试入口的伪随机事件数量时,判断是否存在未测试的测试入口,若判断为是,转至步骤A2;否则,确定所述目标应用的至少两个测试入口均测试完成。
其中,所述监测终端最上层窗口的窗口名与该测试入口对应的窗口名是否匹配之后,还包括:
若匹配,则当所述针对该测试入口的伪随机事件的执行数量达到所述预设的针对该测试入口的伪随机事件数量时,确定该测试入口测试完成。
其中,所述控制终端将窗口名与该测试入口对应的窗口名匹配的窗口设置为最上层窗口,包括:
当所述终端最上层窗口为桌面窗口时,判断终端是否打开了与该测试入口对应的窗口名匹配的窗口;
若判断为是,将所述窗口名与该测试入口对应的窗口名匹配的窗口最大化;
否则,控制终端运行所述目标应用,并控制所述目标应用进入该测试入口;
当所述终端最上层窗口为该目标应用对应的窗口,控制该目标应用进入该测试入口。
相应地,本发明实施例还提供了一种基于Monkey命令的应用测试装置,包括:
接收模块,用于接收针对目标应用的Monkey命令,所述Monkey命令包括所述目标应用的至少两个测试入口、预设的针对各测试入口的伪随机事件数量,以及预设的伪随机事件总数;
运行模块,用于响应所述Monkey命令,运行所述目标应用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510303641.9/2.html,转载请声明来源钻瓜专利网。





