monkey测试

monkey是安卓系统自带的一个工具,安卓是基于Linux内核,可通过adb shell模拟用户行为,发送一些伪随机用户事件到目标设备上,monkey测试通俗的来讲就是无规则测试,就像猴子拿到手机之后乱点一通。是测稳定性,所以在产品上线前就需要跑一下monkey,最低要跑三万次

Monkey是Android中的一个命令行工具,向用户发送伪随机事件流,可以运行在模拟器上或是真机上,真机上借助adb命令来让PC与Android设备连接,关于adb小女子已在上篇嗑过啦。那什么是伪随机事件流,在每一次执行monkey命令时,它发送的命令都是随机的,可能是Home键加返回,或者是进入某个APP再调大音量,触摸滑动等等,那伪的意思就是每次执行命令都会记录一个seed值,那你拿到这个seed值就可以重现这个命令执行的顺序

那我的真机呢没有root,所以没法打印日志出来

所以用adb命令来

打开日志我们可以看到这次随机执行的命令的一个seed值

 

那这是对手机进行的随机命令,那我们测试人员呢肯定是要对我们公司的产品进行测试,如何指定某个APP来进行操作呢

adb shell monkey  -p  包名  -v  100  > monkey.log          使用这个参数,比较有用的一个

-p指要指定的包名,-v是指定一个日志,100代表是要发送多少个事件,那这100的命令是瞬间跑完的速度特别快,对应用的压力是很大的,为了更贴近用户的正常操作,需加一个间隔时间,这边有这样的参数:adb shell monkey -p  包名 --throttle 300 -v 100 >monkey.log

每个命令间隔一段时间,300是指300毫秒,-v表示输出的日志级别,一个v是最低级别,两个v是第二级别,三个v是最高级别(-v -v -v)日志更加详细

 

定制事件:触摸占百分之多少,滑动、home、返回键、导航等等占百分比多少

指定触摸事件百分之10的比例:adb shell monkey -p 包名 --throttle 300 --pct-touch 10 -v 100 >monkey.log

任意按键:anyevent,滑动:motion,轨迹球:trackball, 导航:nav

在执行过程中如果出现了错误,monkey命令就会停止运行,可以写入个忽略错误、忽略崩溃、忽略超时的参数

adb shell monkey -p 包名 --throttle 300 --ignore-crashes  --ignore-timeouts -v 100 >monkey.log

重现之前的顺序的执行命令:adb shell monkey -p 包名 -s seed的值 --throttle 300 --pct-trackball 10 -v 100 >monkey.log

杀monkey进程:

 

posted @ 2018-08-14 17:52  番然  阅读(792)  评论(0编辑  收藏  举报