monkey语法(详细版)

一、monkey介绍(不重要)

monkey是一个程序,运行在模拟器或设备上,生成伪随机的用户事件流,如点击、触摸或手势,以及一些系统级事件,可使用monkey进行随机但是可重复的压力测试,monkey主要用于检查和评估被测程序的稳定性,用于稳定性的冒烟测试。

二、环境准备-adb连接真机或模拟器

1、adb连接真机,需要将手机的开发者选项打开,并且允许usb调试,在cmd窗口,输入adb devices,就可以查看到连接上的真机的设备号

          

2、adb连接模拟器

逍遥模拟器的ip地址以及端口号:127.0.0.1:21503

夜神模拟器的ip地址以及端口号:127.0.0.1.62001

adb连接本地模拟器:adb connect 127.0.0.1:21503

       

3、查看包名(adb shell pm list package)ps:包名也可以直接问研发

要是有多个设备连接adb可以再命令中间加上-s ip地址

adb -s 127.0.0.1 shell pm list package

4、扩展:adb抓log

格式1:打印默认日志数据
adb logcat 

格式2:需要打印日志详细时间的简单数据
adb logcat -v time

格式3:需要打印级别为Error的信息
adb logcat *:E

格式4:需要打印时间和级别是Error的信息
adb logcat -v time *:E

格式5:需要打印时间并将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt
 

三、monkey命令详解

adb shell monkey -p com.apex.wmxt --throttle 100 -s 100 -v 10000 1>d:\monkey.log 2>d:\error.log

-p:后面跟着对应的包名,如果是整机测试,就不需要设备

--throttle<毫秒>:指定用户操作(即事件)间的时延,如果不指定这个参数,monkey会尽可能快的生成和发送消息。

-s <数字>:种子,100表示seed的值,seed会根据这个值去生成随机事件序列。用相同的seed值再次运行monkey,将生成相同的的事件序列。

-v:日志的详细程度,-v -v -v日志最详细

10000:生成的随机事件的次数

1>d:\monkey.log 2>d:\error.log:将日志保存在本地,标准流与错误流分开保存,执行以上命令,Monkey的运行日志和异常日志将被分开保存。此时Monkey的运行日志将被保存在monkey.txt文件中,而异常日志将被保存在D盘下的error.txt中。

四、monkey事件分类

参数: --pct-{+事件类别}{+事件类别百分比}

用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
示例:
0:--pct-touch{+百分比}
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)

效果:在屏幕某处按下并抬起的操作,在手机上的效果类似与点击

adb shell monkey -p cn.emoney.acg --pct-touch 10 1000
1:--pct-motion {+百分比}
调整手势(动作)事件的百分比(手势事件由屏幕上某处的一个down事件、一系列的伪随件机事和一个up事件组成),在手机上类似与没有拐弯的直线滑动操作

adb shell monkey -p cn.emoney.acg --pct-motion 20 1000
3:--pct-trackball {+百分比}
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

这个事件就是模拟轨迹球的操作,现在的android机子大多没有轨迹球,但轨迹球事件中包含曲线滑动操作,如果被测程序需要曲线滑动可以选用这个参数。

adb shell monkey -p cn.emoney.acg --pct-trackball 30 1000
6:--pct-nav {+百分比}
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

基本导航事件是指点击方向输入设备的上/下/左/右按键的操作,现在的手机没有上下左右按键,这种事件用的较少
7:--pct-majornav {+百分比}
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

8:--pct-syskeys {+百分比}

系统按键事件。即系统保留按键,如HOME键,BACK键,拨号键,挂断键,音量键等。

9:--pct-appswitch{+百分比}

调整启动 Activity 的百分比。在随机间隔里, Monkey 将执行一个 startActivity () 调用,作为最大程度覆盖包中全部 Activity 的一种方法。

11:--pct-anyevent{+百分比}

调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。 约束限制

五、系统崩溃事件

--ignore-security-exception :程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置后,Monkey将继续发送事件给系统,直到事件计数完成。

--ignore-timeouts:应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行。设置后,系统会忽略超时事件,继续执行。

--ignore-crashes:忽略崩溃和异常,继续执行。

程序发生崩溃或异常时Monkey会停止运行。设置后,Monkey会继续执行。

六、遇到的问题

1、连接android模拟器的时候,提示该问题:adb server version (31) doesn’t match this client (40):

原因是adk下的adb版本与android模拟器下的adb版本不一致导致的,将android模拟器下的adb替换成sdk下的adb即可;

逍遥模拟器下的adb地址:

这篇文章会一直更新,以后使用monkey遇到的问题,都会一直补充在里面。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值