monkey学习笔记(一)

一、什么是monkey

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

二、monkey测试的目的

1、进行压力测试/稳定性测试

2、开发人员结合monkey打印的日志和系统打印的日志,修改测试中出现的bug

三、monkey参数

1.count 事件数 (必填)

adb shell monkey 200  设定事件数为200

2.[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...] 

    指定某一个app 某一些应用进行monkey测试

adb shell monkey -p 包名 -p 包名 count

★使用adb命令查看包名

    adb shell  pm list packages 

3. [--ignore-crashes] [--ignore-timeouts]  [--ignore-security-exceptions]

    忽略测试过程中关于崩溃,超时,安全证书验证

♦如果使用了这个参数:表述执行过程中如果发生上述问题,会结束app的进程,然后重新打开APP,继续执行直到完成设定的次数,一般会加上这些参数。

♦如果不使用这些参数:表述执行过程中如果发生上述问题,停止monkey测试。

4. [--kill-process-after-error]

    表示发生错误以后,停止monkey测试。

5. [--monitor-native-crashes] [--ignore-native-crashes]

    监控本地应用崩溃,忽略本地应用崩溃

因为我们需要测试使用自己的应用时是否影响了别的应用的情况,提交bug。

6. [--pct-touch PERCENT] [--pct-motion PERCENT]

[--pct-trackball PERCENT] [--pct-syskeys PERCENT]

[--pct-nav PERCENT] [--pct-majornav PERCENT]

[--pct-appswitch PERCENT] [--pct-flip PERCENT]

[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]

[--pct-permission PERCENT]

模拟用户操作的事件百分比.默认情况是不动 。

7.[-s SEED]序列值 种子值

因为seed本身有很多种 ,一种seed下面又会出现N个bug所以我们一般设定一个seed值进行测试。用一样的seed值,执行操作顺序是一样的(前提:初识状态是一样)。对于测试人员来说来说:在验证bug阶段,同样的seed值可以验证bug是否解决。

8. [-v [-v] ...] 表示日志的级别详细程度 

 最多就:-v -v -v 一般 2个-v,具体要根据项目质量要求来定。

9.[--throttle MILLISEC]延迟时间

 执行完一个操作之后,会进行等待,最长等待时间,单位是毫秒,一般设定几百ms

 作用:模拟真实用户操作

四、monkey执行过程

1、准备环境

    ♦配置电脑端的jdk/sdk

    ♦手机开启开发者模式,打开USB调试功能

    ♦连接wifi和数据网络,避免随机操作关掉某一个连接

    ♦关掉手机的锁屏功能(monkey不会解锁操作)和自动灭屏功能,选常亮或设置为最大值

    ♦手机的电量:保持90%以上

    ♦插上耳机,或放在可以隔音的地方

2、手机与电脑连接ADB,若测试的APP需要登录则提前登录账号,monkey不会自己登录账号,但有的时候monkey会自己退出账号,这是无法避免的,可以考虑更换seed值。

3、一条基础的monkey指令,并将monkey日志重定向保存在D盘

adb shell monkey -p [包名] --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes -s [seed] -v -v --throttle [ms] [COUNT] >D:\log\monkey.txt

4、monkey的调试

在执行monkey测试时,为了在发生bug时更好的定位和分析,我们可以同时保存手机的系统日志。

adb logcat -v time >D:\log\logcat.txt

参数解释:

         -v 表示以日志形式输出

        time 表示以时间的顺序输出,方便定位时间点

        D:\log\logcat.txt 自己创建一个用来保存日志的文档

5、执行结束,查看monkey日志结果

    ♦// Monkey finished ——此次测试通过,无bug

    ♦没有显示// Monkey finished ——搜索关键字定位bug,然后提交bug

bug关键字:CRASH、ANR、Monkey aborted due to error、tomstone

五、monkey的强制结束

monkey只会自动停止,若要强制结束monkey需要杀掉monkey的进程。而logcat恰好相反,不会自动停止,需要手动停止。

你可能感兴趣的:(monkey学习笔记(一))