app自动化测试 monkey命令学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27089287/article/details/79203961

monkey命令是向系统发送 模拟用户输入 的 伪随机事件流(如按键输入、触摸屏输入、手势输入等),实现对app的压力测试。

1 使用命令获取待测app的包名 

 确保手机和电脑已连接 usb调试 然后先点击待测试的app 代开cmd命令窗口 ,输入 adb logcat >d:/logcat.txt ,然后

键盘输入ctrl+c。停止。d:/logcat.txt是输出文件的位置,打开该文件 搜索Displayed,后面的com.xxx.xxx即为所测是的包名。

2对该app进行随机测试

 adb shell monkey -p 包名 -v 次数 对app进行多少次的随机点击测试。 

3 保存monkey的测试日志

有2种 第一种是把日志保存到pc机 需要在cmd窗口输入 adb shell monkey -p 包名 -v 次数>保存路径 ,

比如:adb shell monkey -p 包名 -v 1000>d:/monkeylog.txt

就是使用monkey对所测试的app进行1000次随机测试,把日志信息保存在d:/monkeylog.txt下。

第2种是把日志信息保存在手机上 则是在cmd下 输入adb shell 进入shell 模式下

扫描二维码关注公众号,回复: 5261593 查看本文章

使用命令monkey -p 包名 -v 1000>手机存储路径 把日志信息保存在手机的路径下

二者的区别就是 就是是否输入 adb shell 若是进入了shell 模式下 ,就不用输入adb shell 直接使用mnkey命令即可 。

补充:还可以把正确流和错误流分开保存在2个文件下

monkey-p 包名 -v 1000<count> 1> /mnt/sdcard/monkey.txt 2> /mnt/sdcard/error.txt

命令参数 格式语法:

-p:用于约束限制,使用-p用力啊指定一个包或者多个包,指定多个包是使用多个-p 即

 adb shell monkey -p 包名1 -p 包名2

-v:指定反馈信息级别(就是日志的详细程度)

 -v :level 0 缺省默认值,只是提供启动提示、测试完成和最终结果等少量信息。

-v -v :level 1 提供较为详细的日志,包括每个发送到Activity的事件信息。

-v -v -v :最详细的日志,包括测试中选中/未选中的activity的信息。

可以参考web测试时的日志级别 :OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL依次日志级别越来越详细,若设置为error 则warn和debug则不会输出。

-s:指定未税价数的生成器的seed值,用来复现bug。即seed值相同,每次monkey生成的随机事件流都是相同的,可以用来复现bug

下面的命令参数 有2个短横线

--throttle<毫秒>:指定操作间的延时,单位是毫秒

 adb shell monkey -p 包名 --throttle 500 1000 对app进行随机操作1000次,固定延时500毫秒。

adb shell monkey -p 包名 --randomize-throttle 500 是0-500毫秒内随机延时,更准确模拟真实用户操作

--ignore-crashes :忽略崩溃事件,直到事件计数完成。

就是在随机事件生成执行中,发生了Force和Close错误,monkey也不停止运行,而是把规定的随机次数的时间运行完

 adb shell monkey -p 包名 --ignore-crashes 1000 就是在运行1000次随机事件时,中途发生崩溃事件错误,monkey不停止运行,会依然发生时间知道时间数目达到1000为止。

--ignore-timeouts:当应用发生ANR(Appliciation No Rseponding)时,monkey依然发生随机事件直到计数事件完成。

 adb shell monkey -p 包名 --ignore-timeouts 1000

--kill-process-after-error:当app发生错误是,停止运行并保持当前状态。

 adb shell monkey -p 包名 --kill-process-after-error 1000

--monitor-native-crashes :指定monkey监视并报告应用程序发生崩溃时的代码

 adb shell monkey -p 包名 --monitor-native-crashes 1000

--pct-事件类别 百分比

 adb shell monkey -p 包名 --pct-touch 10 1000 指定生成随机事件时,发生touch事件在1000次中占10%

事件类型包含:

touch --触摸事件 down-up事件

motion--动作事件 某处的down事件、一系列的伪随机事件和一个up事件

trackball--轨迹球事件 一个或几个随机的移动组成,有时还伴随有点击

nav--导航事件 由方向输入设备的上下左右组成

majornav--主要导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键

syskeys--系统按键事件 :Home、Back、Start Call、End Call及音量控制键

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

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

anyevent100 1000* 指定多个类型事件的百分比:


猜你喜欢

转载自blog.csdn.net/qq_27089287/article/details/79203961