zoukankan      html  css  js  c++  java
  • 对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志

    适用平台:Android,代码几个月前写的,有问题请及时回复。
    本代码会依次安装当前目录下的APK安装包,之后执行Monkey测试,然后卸载掉换下一个,继续重复执行,如出现Cransh,会自动保存在当前目录的log文件夹内。另:Monkey种子数为随机数。Android包名请自行替换

    #!/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包名
  • 相关阅读:
    (转)Scrapy 深入一点点
    解决Scrapy shell启动出现UnicodeEncodeError问题
    js回调方法
    UGUI 之 控件以及按钮的监听事件系统 存档
    重力感应示例
    网格概念
    Flash Player11异步解码Bitmap
    打包包含已修改过的bug
    ios7官方推荐icon尺寸
    项目资源通过swc获取
  • 原文地址:https://www.cnblogs.com/liuliu-word/p/7212058.html
Copyright © 2011-2022 走看看