Android自动化测试工具之monkey

一、简介:

Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

二、Monkey的特征

1、 测试的对象仅为应用程序包,有一定的局限性。
2、 Monkey测试使用的事件流数据流是随机的,不能进行自定义。
3、 可对MonkeyTest的对象、事件数量、类型、频率等进行设置

三、Monkey测试过程中停止的条件

Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序抛出程序不响应(application not responding)的错误,Monkey将会停止并报错。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性较好的程序

四、Monkey测试实例:

通过此实例,我们能理解Monkey测试的步骤以及如何判断哪些应用程序能够使用Monkey进行测试
1、前提条件:启动一个 Android 的模拟器或者将真机连接到PC端
打开DOS窗口,使用adb命令检查设备是否连接?如图:

        

2、选择应用程序包作为测试对象,如我们选择com.eebochina.ehr相机应用作为测试对象
3、使用monkey 命令执行测试
adb shell monkey -p com.eebochina.ehr -v 50
其中-p 表示对象包,-v 表示反馈信息的级别,50 表示事件数量。

4、在运行中,输入运行代码: adb shell monkey --pct-nav 100 -v 500 -p com.eebochina.ehr
其中–pct-nav 100 表示全部产生基本按键事件,-p 表示对象包,-v 表示反馈信息的级别,500 表示事件数量,执行部分结果,注意
pct-nav 前面是两个“-”,如下图所   

这里就不一一介绍Monkey命令参数,可以自行google
例如:adb shell monkey -p com.eebochina.ehr -s 500 --ignore-crashes --ignore-timeouts 
    --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt


说明:monkey作用的包:com.eebochina.ehr
产生时间序列的种子值:500
忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、
详细信息级别为2 , 产生 10000个事件
所产生的日志保存在:E:\monkey_log\java_monkey_log.txt

注:测试产生了日志,最重要的是要学会分析日志

在log中搜索4种关键字加以分析:
1、crash 闪退
2、exception 异常
3、force closed 强制退出
4、anr(application no response) 程序无响应

用户还可以通过monkey\sdk\tools中的monitor.bat工具进行查看包名或者打印LogCat


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值