适用平台:Android,代码几个月前写的,有问题请及时回复。
本代码会依次安装当前目录下的APK安装包,之后执行Monkey测试,然后卸载掉换下一个,继续重复执行,如出现Cransh,会自动保存在当前目录的log文件夹内。另:Monkey种子数为随机数。Android包名请自行替换
#!/usr/bin/env python
#coding=utf- import os
import time
import random
import re apks = [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[]=='.apk']
for apk in apks:
print '安装'+apk
os.popen('adb install ./'+apk).readlines()
print '执行Monkey脚本'
output = os.popen('adb shell monkey -p xxx.xxxxxx.xxx -s %s -v-v-v --throttle 500 1000' % random.randint(,)).read() #请手动替换-p参数后面的apk包名
pattern = re.compile(r'crash',re.IGNORECASE)
result = pattern.findall(output)
if len(result)>:
dt = time.strftime('%Y-%m-%d-%H-%M-%S')
logfilename = "log_"+apk.split('.apk')[0]+"_"+dt
input = open('./log/'+logfilename+'.log','w')
input.write(apk+'执行monkey时发生crash,日志:')
input.writelines(output)
input.close()
print apk+':执行monkey时发生异常'
print '测试完成,卸载'+apk
os.popen('adb uninstall xxx.xxxxxx.xxxxxxx') #请手动替换后面的apk包名