美文网首页
monkey指令实现压力测试

monkey指令实现压力测试

作者: DuffyMagic | 来源:发表于2019-01-06 21:23 被阅读0次

adb shell monkey

参数

1、-p 指定一个包或多个包:adb shell monkey -p your.package.name 100
2、-v 指定反馈信息级别:adb shell monkey -p your.package.name –v -v –v 100
3、-s 指定伪随机数的seek值,可以重现之前的操作:adb shell monkey -p your.package.name -s 10 100
4、--throttle<毫秒> 操作事件间的延迟:adb shell monkey -p your.package.name --throttle 5000 100
5、--ignore-crashes 忽略事件中的崩溃继续执行脚本:adb shell monkey -p your.package.name --ignore-crashes 1000
6、--ignore-timeouts 忽略事件中的ANR继续执行脚本:adb shell monkey -p your.package.name --ignore-timeouts 1000
7、--ignore-security-exceptions 忽略事件中的许可错误继续执行脚本(网络许可、证书许可):adb shell monkey -p your.package.name --ignore-security-exception 1000
8、--kill-process-after-error 程序发生错误时继续执行脚本:adb shell monkey -p your.package.name --kill-process-after-error 1000
9、--monitor-native-crashes 用于程序是否监视并报告发生崩溃的代码:adb shell monkey -p your.package.name --monitor-native-crashes 1000
10、打印日志:adb shell monkey -p 包名 -v 300 >e:\text.txt
11、终止运行,执行adb shell再执行ps | grep monkey,返回的第一个数字是Monkey的进程号,kill pid 进程号 杀掉进程即可
12、--pct-rotation用于横竖屏切换
13、黑名单白名单
设置txt黑名单,不让其执行Android设置的应用

com.android.setting
......

把黑名单push到手机

adb push d:\blacklist.txt /data/local/tmp/ 

执行黑名单

adb shell monkey -- pkg-whitelist-file /data/local/tmp/blacklist.txt --throttle 200 300

结果分析

1、 ANR问题:在日志中搜索“ANR”
2、崩溃问题:在日志中搜索“Exception” Force Close
3、查看出问题是在哪个activity,手动去复现

实例

#!/usr/bin/env python
# coding=utf-8

import os
import time
import random

#apks = [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.apk']

print '执行Monkey脚本'
output = os.popen('adb shell monkey -p your.package.name  -v-v-v --throttle 500 500' ).read()  # 请手动替换-p参数后面的apk包名
dt = time.strftime('%Y-%m-%d-%H-%M-%S')
logfilename = "log_" + 'anyshare' + "_" + dt
input = open('/Users/yaoyaoli/Documents/monkey_test/bugreport_out/' + logfilename + '.log', 'w')
input.write('执行monkey时发生的日志:')
input.writelines(output)
input.close()
print 'monkey测试日志已打印'
print '测试完成'
#os.popen('adb uninstall xxx.xxxxxx.xxxxxxx')  # 请手动替换后面的apk包名

相关文章

网友评论

      本文标题:monkey指令实现压力测试

      本文链接:https://www.haomeiwen.com/subject/zbcerqtx.html