app测试2--monkey稳定性测试

一、monkey基础

1、为什么要进行monkey测试

monkey测试是为了测试稳定性和健壮性

crash:崩溃、闪退

ANR机制–Application Not Responding:在主线程中进行了耗时的操作

主线程:负责UI相关,子线程:负责具体事务

耗时操作有:在主线程中请求网络操作、数据库的查询、

2、monkey简介

是android中附带的一个工具

它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序进行稳定性和健壮性测试

3、monkey工作原理

monkey运行的时候,生成伪随机事件流,并把他们发给系统,同时monkey还对测试中的系统进行监测,并进行特殊处理

如果应用程序崩溃或接收到任何失控异常,monkey将停止并报错

如果应用程序产生了应用程序不响应的错误,monkey将会停止并报错

按照选定的不同级别的反馈信息,在monkey中还可以看到其执行过程报告和生成的事件

二、monkey的使用

1、开始-运行-cmd

usb连接手机,输入adb shell monkey 命令

adb monkey shell -p com.tencent.mm -v 500

2、日志的获取

为了方便分析问题,可以将日志信息重定向到文件中

格式:monkey -p com.tencent.mm -v 1000 >1.log --一个>是覆盖

       monkey -p  com.tencent.mm -v 1000 >>1.log  --两个>>是追加

adb shell

monkey -p com.tencent.mm -v 1000 >d:/1.txt --不正确,因为adb shell 后进入了手机,手机没有d盘,正确的指令是:

adb shell monkey -p com.tencent.mm -v 1000 >d:/1.txt

如果进行monkey测试时,遇到anr或crash的情况,在抓取log的同时需要提供traces.txt(在/data/anr/下)

adb shell cd /data/anr

ls

monkey命令行参数 :

-p

monkey -p com.tencent.mm -p com.aotuyidongzhifa.cn -v 100

-V -VV -VVV

-s 用于指定伪随机事件生成器的seed值,如果seed相同,则两次monkey测试所产生的事件序列也是相同的

-throttle<毫秒>用于指定用户操作间的延迟,单位是毫秒

–ignore -crashes 应用程序即使发生崩溃,也会运行直到计数完成

adb shell monkey -p com.tencent.mm --ignore -crashes -v 500

–ignore - timeouts 应用程序即使发生ANR错误时,monkey依然会发送事件,直到事件计数完成

adb shell monkey -p com.tencent.mm --ignore -timeouts

adb shell -> cd system/bin ->ls 可以看到很多linux命令,包括

adb shell monkey -p cn.com.pyc 200

adb shell monkey -p cn.com.pyc -v 500

adb shell monkey -p cn.com.pyc -s 12345 -v 500 >e:\1.txt

–打开monkey测试的日志文件,搜索error、exception、crash、anr

adb shell monkey -p cn.com.pyc -v -s 1234567 --throttle 300 200 >e:/1.txt

–如果想让多一点触摸事件

adb shell monkey -p cn.com.pyc -v -s 11709 --throttle 300 --pct-touch 50 200 >e:/1.txt

–如果测试的过程中出现crash异常,提供monkey日志的同时还要提供monkey指令,还要附上响应的crash截图

–如果测试过程中出现anr异常,需要另外提供traces文件 adb shell->cd data/anr ->ls ->traces.txt

adb shell monkey -p com.nyts.sport --pct-touch 30 --pct-motion 30 --pct-trackball 0 --pct-nav 0 --pct-majornav 20 --pct-appswitch 10 --pct-anyevent 10 -s(指定seed值) 12867 -v --throttle(指定时间间隔) 300 20000 >MonkeyTest.txt

Monkey执行结果分析
打开日志文件,查找关键字"ANR",“Fatal”,“CRASH”,“Exception”,“androidruntime”,“out of memory”, "null pointer"若存在,则说明发生异常。

打开日志文件,查找关键字"Finished",若存在,则证明Monkey正常结束

收集出错相关信息,发给研发
执行后的手机截图
monkey手机的日志文件
monkey的测试结果
被测试手机信息

adb shell monkey -p com.niuyan.app --ignore-crashes --ignore-timeouts -ignore-security-exceptions --ignore-native-crashes -v -v -v --throttle 300 100000 >C:\Users\yang\Desktop\log.txt 2>&1

adb shell monkey -p com.niuyan.app --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --throttle 500 -v -v -v 10>C:\Users\yang\Desktop\log.txt 2>&1

sd卡/Android/data/com.niuyan.app/files/BBB/Bullseye/Logs/crash/

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值