对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

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

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)[1]=='.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(1,500)).read()   #请手动替换-p参数后面的apk包名
    pattern = re.compile(r'crash',re.IGNORECASE)
    result = pattern.findall(output)
    if len(result)>0:
        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包名