├── .idea ├── misc.xml ├── modules.xml └── python_tk_adb-master.iml └── python_tk_adb-master ├── README.md ├── __init__.py ├── adb ├── __init__.py ├── ab_python.py ├── adb.exe └── checkpath.py ├── adb_tk.py ├── cpu_liu_men_report.xlsx ├── img ├── 11.png ├── 5.png ├── E.png ├── baogao (2).png ├── baogao.png ├── log日志.png ├── 不使用ui界面,不用线程测试日志.png └── 整体结构.png ├── log ├── monkey小工具各流程日志输出-2017-10-31-12.log ├── monkey小工具各流程日志输出-2018-01-26-09.log └── monkey灏忓伐鍏峰悇娴佺▼鏃ュ織杈撳嚭-2018-01-26-09.log └── ulit ├── __init__.py ├── log.py └── py_excel.py /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/python_tk_adb-master.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | -------------------------------------------------------------------------------- /python_tk_adb-master/README.md: -------------------------------------------------------------------------------- 1 | # python_tk_adb   (python3 + tkinter +adb 实现,必须添加adb环境变量) 2 | ## 这是我自己写的一个adb小工具,可以取cpu,内存,流量,测启动时间,monkey测试 3 | ## 在采集cpu占有率,上传下载流量,内存,启动app耗时的时候采用了线程的方式,不启用线程的话tkinter的界面会有卡死现象! 4 | ## 如果测试的过程中没有测试界面,那么不会出现上面的情况,统计的时候会增加部分日志, 5 | ## 整体的目录结构如下 6 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/%E6%95%B4%E4%BD%93%E7%BB%93%E6%9E%84.png) 7 | ## 效果如图展示 8 | 9 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/11.png) 10 | 11 | ## 生成的Excel测试报告 12 | 13 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/baogao.png) 14 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/baogao%20(2).png) 15 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/E.png) 16 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/5.png) 17 | 18 | ## 新增加的log带ui界面日志如图 19 | 20 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/log%E6%97%A5%E5%BF%97.png) 21 | 22 | ## 不带ui界面的log日志展示 23 | 24 | ![Alt text](https://github.com/liwanlei/python_tk_adb/blob/master/img/%E4%B8%8D%E4%BD%BF%E7%94%A8ui%E7%95%8C%E9%9D%A2%EF%BC%8C%E4%B8%8D%E7%94%A8%E7%BA%BF%E7%A8%8B%E6%B5%8B%E8%AF%95%E6%97%A5%E5%BF%97.png) 25 | 26 | 27 | -------------------------------------------------------------------------------- /python_tk_adb-master/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/__init__.py -------------------------------------------------------------------------------- /python_tk_adb-master/adb/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/adb/__init__.py -------------------------------------------------------------------------------- /python_tk_adb-master/adb/ab_python.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Date : 2017-06-12 3 | # @Author : lileilei 4 | import os,time,platform,time 5 | from adb.checkpath import getsystemsta 6 | from ulit.log import logger,LOG 7 | find=getsystemsta() 8 | @logger('获取启动耗时') 9 | def starttime_app(packagename,packagenameactivicy):#启动耗时 10 | cmd='adb shell am start -W -n %s'%packagenameactivicy 11 | me=os.popen(cmd).read().split('\n')[-7].split(':')#获取启动时间 12 | cmd2='adb shell am force-stop %s'%packagename 13 | os.system(cmd2) 14 | return me 15 | @logger('获取流量') 16 | def liulang(packagename): 17 | cmd='adb shell cat /data/system/packages.list | %s %s'%(find,packagename) 18 | cm=os.popen(cmd).read().split()[1] 19 | cmd1='adb shell cat /proc/net/xt_qtaguid/stats | %s %s'%(find,cm) 20 | me1_shou=os.popen(cmd1).read().split()[5]#接受 21 | me2_shou=os.popen(cmd1).read().split()[7]#上传 22 | cmd2='adb shell cat /proc/net/xt_qtaguid/stats | %s %s'%(find,cm) 23 | me1_xia=os.popen(cmd1).read().split()[5]#接受 24 | me2_xia=os.popen(cmd1).read().split()[7]#上传 25 | liulang_sum_1=(int(me1_shou)+int(me2_shou))#过程产生流量计算为执行后的流量-执行前的流量, 26 | liulang_sum_xia=(int(me1_xia)+int(me2_xia)) 27 | liulang_sum=int(liulang_sum_xia)-int(liulang_sum_1) 28 | me1=int(me1_xia)-int(me1_shou) 29 | me2=int(me2_xia)-int(me2_shou) 30 | return me1 ,me2,liulang_sum 31 | @logger('获取cpu信息') 32 | def caijicpu(packagename):#这里采集的cpu时候可以是执行操作采集 就是-n -d 刷新间隔 33 | cpu='adb shell top -n 1| %s %s'%(find,packagename) 34 | re_cpu=os.popen(cpu).read().split()[2] 35 | return re_cpu 36 | @logger('获取内存') 37 | def getnencun(packagename):#Total 的实际使用过物理内存 38 | cpu = 'adb shell top -n 1| %s %s' % (find, packagename) 39 | re_cpu=os.popen(cpu).read().split()[6] 40 | return re_cpu 41 | @logger('执行monkey测试') 42 | def adb_monkey(packagename,s_num,throttle,pct_touch,pct_motion,pct_trackball,pct_nav,pct_syskeys,pct_appswitch,num,logfilepath): 43 | cmden='adb shell monkey -p %s -s %s --throttle %s --pct-touch %s --pct-motion %s --pct-trackball %s --pct-trackball %s --pct-syskeys %s --pct-appswitch %s -v -v -v %s >%s'%(packagename,s_num,throttle,pct_touch,pct_motion,pct_trackball,pct_nav,pct_syskeys,pct_appswitch,num,logfilepath) 44 | os.popen(cmden) 45 | @logger('获取设备状态') 46 | def huoqushebeizhuangtai():#获取设备状态 47 | cmd1='adb get-state' 48 | devices_status=os.popen(cmd1).read().split()[0] 49 | return devices_status 50 | -------------------------------------------------------------------------------- /python_tk_adb-master/adb/adb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/adb/adb.exe -------------------------------------------------------------------------------- /python_tk_adb-master/adb/checkpath.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | """ 3 | @author: lileilei 4 | @file: checkpath.py 5 | @time: 2017/10/31 9:14 6 | """ 7 | import platform,subprocess,os,re 8 | from ulit.log import logger,LOG 9 | @logger('判断系统,使用相应的命令') 10 | def getsystemsta():#获取系统的名称,使用对应的指令 11 | system=platform.system() 12 | if system=='Windows': 13 | find_manage='findstr' 14 | else: 15 | find_manage='grep' 16 | return find_manage 17 | @logger('获取设备列表') 18 | def get_device_list():#获取设备列表 19 | devices = [] 20 | result = subprocess.Popen("adb devices", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.readlines() 21 | result.reverse() 22 | for line in result[1:]: 23 | if "attached" not in line.strip(): 24 | devices.append(line.split()[0]) 25 | else: 26 | break 27 | return devices 28 | 29 | 30 | -------------------------------------------------------------------------------- /python_tk_adb-master/adb_tk.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Date : 2017-06-12 3 | # @Author : lileilei 4 | import threading 5 | import tkinter 6 | from tkinter import * 7 | from tkinter import messagebox, ttk 8 | from adb.ab_python import starttime_app, adb_monkey, huoqushebeizhuangtai, caijicpu, liulang, getnencun 9 | from ulit.py_excel import qidongceshi, getcpu 10 | from ulit.log import LOG,logger 11 | @logger('启动app时间测试') 12 | def qidongapp(): 13 | start_tim=[] 14 | cishu=[] 15 | status_shebei=huoqushebeizhuangtai() 16 | if status_shebei =='device': 17 | try: 18 | packname=baoming_t.get('0.0',END) 19 | acti=activ_t.get('0.0',END) 20 | cish=cishu_ac.get() 21 | except: 22 | LOG.info('获取不到测试数据,请检查!') 23 | messagebox.showinfo('提醒', '获取不到测试数据,请检查!') 24 | if len(acti)<=1 or len(packname)<=1: 25 | messagebox.showinfo('提醒','包命或者包名activity不能为空') 26 | LOG.info('包命或者包名activity不能为空') 27 | else: 28 | if len(cish)<=1: 29 | messagebox.showinfo('提醒','次数不能为空') 30 | LOG.info('次数不能为空') 31 | else: 32 | i=0 33 | e1['state']= 'normal' 34 | e1.delete(1.0,tkinter.END) 35 | sum=0 36 | for i in range(int(cish)): 37 | start_time=starttime_app(packagename=packname,packagenameactivicy=acti) 38 | start_tim.append(int(start_time[1])) 39 | 40 | cishu.append(i) 41 | if start_time is None: 42 | messagebox.showwarning('警告','请检查您输入的包或者包的启动activity') 43 | break 44 | text='第%s次启动时间:%s'%(i+1,start_time[1]) 45 | LOG.info('第%s次启动时间:%s'%(i+1,start_time[1])) 46 | sum+=int(start_time[1]) 47 | e1['state']= 'normal' 48 | e1.insert(tkinter.END,text) 49 | e1.insert(tkinter.END,'\n') 50 | e1.see(END) 51 | btn_start['state']= 'disabled' 52 | e1.insert(tkinter.END,('平均用时:%s'%(sum/int(cish)))) 53 | LOG.info(('平均用时:%s'%(sum/int(cish)))) 54 | qidongceshi(cishu=cishu,start=start_tim) 55 | messagebox.showinfo('提示','测试报告已经生成,请到当前目录查看') 56 | LOG.info('测试报告已经生成,请到当前目录查看') 57 | e1['state']= 'disabled' 58 | btn_start['state']= 'normal' 59 | messagebox.showinfo('通知','测试已经完成') 60 | LOG.info('测试已经完成') 61 | else: 62 | messagebox.showerror('警告','设备连接异常') 63 | LOG.info('设备连接异常') 64 | @logger('monkey测试') 65 | def monkey_app(): 66 | status_shebei=huoqushebeizhuangtai() 67 | if status_shebei =='device': 68 | try: 69 | packname=baoming_t1.get('0.0',END).split()[0] 70 | zhongzi=zhongzi_t.get('0.0',END).split()[0] 71 | time=time_t.get().split()[0] 72 | touch=touch_t.get('0.0',END).split()[0] 73 | huadong=huadong_t.get('0.0',END).split()[0] 74 | guiji=guiji_t.get('0.0',END).split()[0] 75 | xitong=xitong_t.get('0.0',END).split()[0] 76 | acti=acti_t.get('0.0',END).split()[0] 77 | event=event_t.get('0.0',END).split()[0] 78 | log=log_t.get('0.0',END).split()[0] 79 | danghang=danghang_t.get('0.0',END).split()[0] 80 | if len(packname)<=5: 81 | LOG.info('请正确填写包名') 82 | messagebox.showwarning('提醒','请正确填写包名') 83 | if int(touch)+int(huadong)+int(guiji)+int(danghang)+int(xitong)+int(acti) >100: 84 | messagebox.showerror('提醒','您输入的所有的事件的比例和不能超过100%') 85 | LOG.info('您输入的所有的事件的比例和不能超过100') 86 | adb_monkey(packagename=packname,s_num=zhongzi,throttle=time,pct_touch=touch,pct_motion=huadong,pct_trackball=guiji,pct_nav=danghang,pct_syskeys=xitong,pct_appswitch=acti,num=event,logfilepath=log) 87 | except : 88 | messagebox.showwarning('警告','必须填写monkey相关数据') 89 | LOG.info('monkey 测试出错,原因:%s'%Exception) 90 | else: 91 | LOG.info('设备连接异常 请重新连接设备!') 92 | messagebox.showwarning('警告','设备连接异常 请重新连接设备!') 93 | @logger('cpu占用率,上传下载流量,内存的测试') 94 | def cpu_app(): 95 | status_shebei=huoqushebeizhuangtai() 96 | if status_shebei =='device': 97 | xingneng_bao=xingneng_baoming.get('0.0',END).split()[0] 98 | xing=xing_t.get() 99 | if len(xingneng_bao)<=5: 100 | LOG.info('包名必须真实有效') 101 | messagebox.showwarning('警告','请检查您的包名') 102 | cishu_list=[] 103 | cpu_list=[] 104 | rescv_list=[] 105 | send_list=[] 106 | total_list=[] 107 | pass_list=[] 108 | i=0 109 | for i in range(int(xing)): 110 | nen_cun=getnencun(xingneng_bao) 111 | rescv,send,liulang_sum=liulang(xingneng_bao) 112 | cpu_caiji=caijicpu(xingneng_bao) 113 | neicun_t['state']= 'normal' 114 | pass_list.append(int(nen_cun[:-1])) 115 | neicun_t.insert(tkinter.END,('Pass值:%s'%nen_cun)) 116 | LOG.info('第%s次:Pass:%s' % (i, nen_cun)) 117 | neicun_t.insert(tkinter.END,'\n') 118 | neicun_t.see(END) 119 | neicun_t['state']= 'disabled' 120 | cpu_t['state']= 'normal' 121 | cpu_list.append(int(cpu_caiji.split('%')[0])) 122 | cpu_t.insert(tkinter.END,('CPU占有率:%s'%cpu_caiji)) 123 | LOG.info('第%s次:CPU占用率:%s'%(i,cpu_caiji)) 124 | cpu_t.insert(tkinter.END,'\n') 125 | cpu_t.see(END) 126 | cpu_t['state']= 'disabled' 127 | liulang_t['state']= 'normal' 128 | total_list.append(int(liulang_sum)) 129 | rescv_list.append(int(rescv)) 130 | send_list.append(int(send)) 131 | liulang_t.insert(tkinter.END,('总流量:%sk,上传流量:%sk,下载流量:%sk'%(liulang_sum,rescv,send))) 132 | LOG.info('第%s次:总流量:%sk,上传流量:%sk,下载流量:%sk' % (i, liulang_sum,rescv,send)) 133 | liulang_t.insert(tkinter.END,'\n') 134 | liulang_t.see(END) 135 | liulang_t['state']= 'disabled' 136 | xingneng_btn['state']= 'disabled' 137 | i+=1 138 | cishu_list.append(int(i)) 139 | getcpu(cishu=cishu_list,start_cpu=cpu_list,recv_list=rescv_list,send_list=send_list,total_list=total_list,Pass_list=pass_list) 140 | xingneng_btn['state']= 'normal' 141 | LOG.info('测试完成') 142 | messagebox.showinfo('提醒','测试完毕,测试报告已经生成!') 143 | else: 144 | LOG.info('测试的设备必须正常连接,请注意') 145 | messagebox.showwarning('警告','设备连接异常 请重新连接设备!') 146 | @logger('次用线程来启动测试!采集cpu占用率,上传下载流量,内存') 147 | def teread():#如果不是ui界面,可以不用线程 148 | for i in range(1): 149 | t=threading.Thread(target=cpu_app,args=()) 150 | t.start() 151 | @logger('启动app时间线程测试') 152 | def teread_start():#如果不用ui界面,可以不用线程 153 | for i in range(1): 154 | t=threading.Thread(target=qidongapp,args=()) 155 | t.start() 156 | if __name__ == '__main__': 157 | LOG.info('测试小程序开始启动!测试开启!') 158 | try: 159 | status_shebei=huoqushebeizhuangtai() 160 | if status_shebei =='device': 161 | root=tkinter.Tk() 162 | root.title('雷子的安卓adb小工具') 163 | # root.geometry("1000x900") 164 | # root.resizable(width=False, height=False) 165 | tkinter.Label(root,text='性能参数展示',fg='red',font=("黑体", 15, "bold"),).grid(row=0,column=3) 166 | cpu_t=tkinter.Text(root,height=5,width=30) 167 | cpu_t.grid(row=1,column=2) 168 | liulang_t=tkinter.Text(root,height=5,width=40) 169 | liulang_t.grid(row=1,column=4) 170 | liulang_t.see(END) 171 | neicun_t=tkinter.Text(root,height=5,width=30) 172 | neicun_t.grid(row=3,column=2) 173 | neicun_t.see(END) 174 | suji_ev=[50,100,150,200,300]#这里还原可以增加可以选择的次数 175 | xing_t=ttk.Combobox(root,values=suji_ev,width=5) 176 | xing_t.current(0) 177 | xing_t.grid(row=1,column=6) 178 | tkinter.Label(root,text='cpu').grid(row=2,column=2) 179 | tkinter.Label(root,text='参数次数').grid(row=1,column=5) 180 | tkinter.Label(root,text='流量').grid(row=2,column=4) 181 | tkinter.Label(root,text='内存').grid(row=6,column=2) 182 | tkinter.Label(root,text='包名:').grid(row=7,column=1) 183 | xingneng_baoming=tkinter.Text(root,height=1,width=30) 184 | xingneng_baoming.grid(row=7,column=2) 185 | xingneng_btn=tkinter.Button(root,text='开始测试',font=("黑体", 15, "bold"),command=teread) 186 | xingneng_btn.grid(row=7,column=3) 187 | tkinter.Label(root,text='启动时间测试',fg='red',height=2,font=("黑体", 15, "bold")).grid(row=8,column=3) 188 | tkinter.Label(root,text='测试包名').grid(row=9,column=1) 189 | baoming_t=tkinter.Text(root,height=1,width=30) 190 | baoming_t.grid(row=9,column=2) 191 | tkinter.Label(root,text='测试包Activity').grid(row=9,column=3) 192 | activ_t=tkinter.Text(root,height=1,width=30) 193 | activ_t.grid(row=9,column=4) 194 | tkinter.Label(root,text='测试次数').grid(row=9,column=5) 195 | num=[10,20,30,50,100] 196 | cishu_ac=ttk.Combobox(root,values=num,state='readonly',width=5) 197 | cishu_ac.current(0) 198 | cishu_ac.grid(row=9,column=6) 199 | tkinter.Label(root,text='启动时间展示').grid(row=10,column=1) 200 | e1 = tkinter.Text(root,width=30,height=10, state="disabled") 201 | e1.grid(row=10,column=2,padx=20,pady=30) 202 | btn_start=tkinter.Button(root,text='测试',font=("黑体", 15, "bold"),command=teread_start) 203 | btn_start.grid(row=10,column=3) 204 | tkinter.Label(root,text='Monkey 测试',fg='red',font=("黑体", 15, "bold")).grid(row=11,column=3) 205 | tkinter.Label(root,text='测试包名:').grid(row=12,column=1) 206 | baoming_t1=tkinter.Text(root,height=1,width=30) 207 | baoming_t1.insert('0.0',0) 208 | baoming_t1.grid(row=12,column=2) 209 | tkinter.Label(root,text='随机种子个:').grid(row=12,column=3) 210 | zhongzi_t=tkinter.Text(root,height=1,width=30) 211 | zhongzi_t.grid(row=12,column=4) 212 | zhongzi_t.insert('0.0',0) 213 | tkinter.Label(root,text='时间间隔:').grid(row=12,column=5) 214 | suji_event=[500,1000,1500,2000,3000] 215 | time_t=ttk.Combobox(root,values=suji_event,width=5) 216 | time_t.current(0) 217 | time_t.grid(row=12,column=6) 218 | tkinter.Label(root,text='导航事件百分比:').grid(row=13,column=1) 219 | danghang_t=tkinter.Text(root,height=1,width=30) 220 | danghang_t.insert('0.0',0) 221 | danghang_t.grid(row=13,column=2) 222 | tkinter.Label(root,text='触摸事件百分比:').grid(row=13,column=3) 223 | touch_t=tkinter.Text(root,height=1,width=30) 224 | touch_t.grid(row=13,column=4) 225 | touch_t.insert('0.0',0) 226 | tkinter.Label(root,text='滑动事件百分比:').grid(row=14,column=1) 227 | huadong_t=tkinter.Text(root,height=1,width=30) 228 | huadong_t.grid(row=14,column=2) 229 | huadong_t.insert('0.0',0) 230 | tkinter.Label(root,text='轨迹球事件百分比:').grid(row=14,column=3) 231 | guiji_t=tkinter.Text(root,height=1,width=30) 232 | guiji_t.grid(row=14,column=4) 233 | guiji_t.insert('0.0',0) 234 | tkinter.Label(root,text='系统按键百分比:').grid(row=15,column=1) 235 | xitong_t=tkinter.Text(root,height=1,width=30) 236 | xitong_t.grid(row=15,column=2) 237 | xitong_t.insert('0.0',0) 238 | tkinter.Label(root,text='activity之间的切换百分比:').grid(row=15,column=3) 239 | acti_t=tkinter.Text(root,height=1,width=30) 240 | acti_t.grid(row=15,column=4) 241 | acti_t.insert('0.0',0) 242 | tkinter.Label(root,text='伪随机数:').grid(row=16,column=1) 243 | event_t=tkinter.Text(root,height=1,width=30) 244 | event_t.insert('0.0',0) 245 | event_t.grid(row=16,column=2) 246 | tkinter.Label(root,text='日志存放路径:').grid(row=16,column=3) 247 | log_t=tkinter.Text(root,height=1,width=30) 248 | log_t.grid(row=16,column=4) 249 | log_t.insert('0.0','F:\\monekey.txt') 250 | btn_monkey=tkinter.Button(root,text='启动Monkey测试',font=("黑体", 15, "bold"),command=monkey_app) 251 | btn_monkey.grid(row=17,column=3) 252 | root.mainloop() 253 | else: 254 | LOG('设备未连接或者连接异常!目前连接状态:%s'%status_shebei) 255 | print(status_shebei) 256 | print('设备未连接或者连接异常') 257 | except Exception as e: 258 | print(e) 259 | LOG.info('测试异常,原因:%s'%e) 260 | 261 | -------------------------------------------------------------------------------- /python_tk_adb-master/cpu_liu_men_report.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/cpu_liu_men_report.xlsx -------------------------------------------------------------------------------- /python_tk_adb-master/img/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/11.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/5.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/E.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/baogao (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/baogao (2).png -------------------------------------------------------------------------------- /python_tk_adb-master/img/baogao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/baogao.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/log日志.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/log日志.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/不使用ui界面,不用线程测试日志.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/不使用ui界面,不用线程测试日志.png -------------------------------------------------------------------------------- /python_tk_adb-master/img/整体结构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/img/整体结构.png -------------------------------------------------------------------------------- /python_tk_adb-master/log/monkey小工具各流程日志输出-2017-10-31-12.log: -------------------------------------------------------------------------------- 1 | [2017-10-31 12:28:36.265480] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 2 | [2017-10-31 12:28:36.266980] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 3 | [2017-10-31 12:28:36.267480] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 4 | [2017-10-31 12:28:36.310486] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 5 | [2017-10-31 12:28:36.310486] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 6 | [2017-10-31 12:28:36.310986] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 7 | [2017-10-31 12:28:36.310986] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 8 | [2017-10-31 12:31:02.632066] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 9 | [2017-10-31 12:31:02.633066] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 10 | [2017-10-31 12:31:02.633066] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 11 | [2017-10-31 12:31:02.672572] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 12 | [2017-10-31 12:31:02.672572] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 13 | [2017-10-31 12:31:02.672572] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 14 | [2017-10-31 12:31:02.673072] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 15 | [2017-10-31 12:31:13.029387] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 16 | [2017-10-31 12:31:13.029887] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 17 | [2017-10-31 12:31:13.029887] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 18 | [2017-10-31 12:32:22.000145] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 19 | [2017-10-31 12:32:22.000645] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 20 | [2017-10-31 12:32:22.001145] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 21 | [2017-10-31 12:32:22.040650] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 22 | [2017-10-31 12:32:22.041150] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 23 | [2017-10-31 12:32:22.041150] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 24 | [2017-10-31 12:32:22.041150] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 25 | [2017-10-31 12:32:24.205425] INFO: monkey小工具各流程日志输出: 当前模块 cpu占用率,上传下载流量,内存的测试 26 | [2017-10-31 12:32:24.205425] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 27 | [2017-10-31 12:32:24.205925] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 28 | [2017-10-31 12:32:24.205925] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 29 | [2017-10-31 12:32:24.205925] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 30 | [2017-10-31 12:32:24.206425] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 31 | [2017-10-31 12:32:24.247430] INFO: monkey小工具各流程日志输出: 当前模块 获取内存 32 | [2017-10-31 12:32:24.247930] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 33 | [2017-10-31 12:32:24.247930] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 34 | [2017-10-31 12:32:27.470840] INFO: monkey小工具各流程日志输出: 当前模块 获取流量 35 | [2017-10-31 12:32:27.470840] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 36 | [2017-10-31 12:32:27.471340] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 37 | [2017-10-31 12:32:27.914896] INFO: monkey小工具各流程日志输出: 当前模块 获取cpu信息 38 | [2017-10-31 12:32:27.914896] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 39 | [2017-10-31 12:32:27.915396] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 40 | [2017-10-31 12:32:31.125304] INFO: monkey小工具各流程日志输出: 第0次:Pass:127992K 41 | [2017-10-31 12:32:31.126304] INFO: monkey小工具各流程日志输出: 第0次:CPU占用率:0% 42 | [2017-10-31 12:32:31.126804] INFO: monkey小工具各流程日志输出: 第0次:总流量:0k,上传流量:0k,下载流量:0k 43 | [2017-10-31 12:32:31.127304] INFO: monkey小工具各流程日志输出: 当前模块 获取内存 44 | [2017-10-31 12:32:31.127304] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 45 | [2017-10-31 12:32:31.127804] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 46 | [2017-10-31 12:32:34.352213] INFO: monkey小工具各流程日志输出: 当前模块 获取流量 47 | [2017-10-31 12:32:34.352713] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 48 | [2017-10-31 12:32:34.352713] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 49 | [2017-10-31 12:32:34.824773] INFO: monkey小工具各流程日志输出: 当前模块 获取cpu信息 50 | [2017-10-31 12:32:34.825273] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 51 | [2017-10-31 12:32:34.825273] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 52 | [2017-10-31 12:32:38.013178] INFO: monkey小工具各流程日志输出: 第1次:Pass:127992K 53 | [2017-10-31 12:32:38.013678] INFO: monkey小工具各流程日志输出: 第1次:CPU占用率:0% 54 | [2017-10-31 12:32:38.014178] INFO: monkey小工具各流程日志输出: 第1次:总流量:0k,上传流量:0k,下载流量:0k 55 | [2017-10-31 12:32:38.014678] INFO: monkey小工具各流程日志输出: 当前模块 获取内存 56 | [2017-10-31 12:32:38.014678] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 57 | [2017-10-31 12:32:38.014678] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 58 | [2017-10-31 12:32:41.245589] INFO: monkey小工具各流程日志输出: 当前模块 获取流量 59 | [2017-10-31 12:32:41.245589] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 60 | [2017-10-31 12:32:41.245589] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 61 | [2017-10-31 12:32:41.645139] INFO: monkey小工具各流程日志输出: 当前模块 获取cpu信息 62 | [2017-10-31 12:32:41.645639] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 63 | [2017-10-31 12:32:41.645639] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 64 | [2017-10-31 12:32:44.859548] INFO: monkey小工具各流程日志输出: 第2次:Pass:127992K 65 | [2017-10-31 12:32:44.860048] INFO: monkey小工具各流程日志输出: 第2次:CPU占用率:0% 66 | [2017-10-31 12:32:44.860548] INFO: monkey小工具各流程日志输出: 第2次:总流量:0k,上传流量:0k,下载流量:0k 67 | [2017-10-31 12:32:44.861048] INFO: monkey小工具各流程日志输出: 当前模块 获取内存 68 | [2017-10-31 12:32:44.861048] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 69 | [2017-10-31 12:32:44.861548] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 70 | [2017-10-31 12:32:48.140964] INFO: monkey小工具各流程日志输出: 当前模块 获取流量 71 | [2017-10-31 12:32:48.141464] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 72 | [2017-10-31 12:32:48.141464] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 73 | [2017-10-31 12:32:48.660030] INFO: monkey小工具各流程日志输出: 当前模块 获取cpu信息 74 | [2017-10-31 12:32:48.660530] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , ('com.tencent.mobileqq',) 75 | [2017-10-31 12:32:48.660530] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 76 | [2017-10-31 12:33:16.025505] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 77 | [2017-10-31 12:33:16.026005] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 78 | [2017-10-31 12:33:16.026505] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 79 | [2017-10-31 12:33:16.070511] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 80 | [2017-10-31 12:33:16.071011] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 81 | [2017-10-31 12:33:16.071011] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 82 | [2017-10-31 12:33:16.071011] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 83 | [2017-10-31 12:33:18.204282] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 84 | [2017-10-31 12:33:18.204782] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 85 | [2017-10-31 12:33:18.204782] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 86 | [2017-10-31 12:35:07.491660] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 87 | [2017-10-31 12:35:07.492660] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 88 | [2017-10-31 12:35:07.492660] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 89 | [2017-10-31 12:35:07.534165] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 90 | [2017-10-31 12:35:07.534665] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 91 | [2017-10-31 12:35:07.534665] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 92 | [2017-10-31 12:35:07.534665] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 93 | [2017-10-31 12:35:11.667690] INFO: monkey小工具各流程日志输出: 当前模块 用线程来启动测试!采集cpu占用率,上传下载流量,内存 94 | [2017-10-31 12:35:11.667690] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 95 | [2017-10-31 12:35:11.668190] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 96 | -------------------------------------------------------------------------------- /python_tk_adb-master/log/monkey小工具各流程日志输出-2018-01-26-09.log: -------------------------------------------------------------------------------- 1 | [2018-01-26 09:14:13.528849] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 2 | [2018-01-26 09:14:13.531851] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 3 | [2018-01-26 09:14:13.531851] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 4 | [2018-01-26 09:14:13.741852] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 5 | [2018-01-26 09:14:13.742878] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 6 | [2018-01-26 09:14:13.744852] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 7 | [2018-01-26 09:14:13.744852] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 8 | [2018-01-26 09:14:18.513852] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 9 | [2018-01-26 09:14:18.514850] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 10 | [2018-01-26 09:14:18.515851] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 11 | [2018-01-26 09:14:44.634857] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 12 | [2018-01-26 09:14:44.635856] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 13 | [2018-01-26 09:14:44.635856] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 14 | [2018-01-26 09:14:45.922859] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 15 | [2018-01-26 09:14:45.923856] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 16 | [2018-01-26 09:14:45.924856] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 17 | [2018-01-26 09:14:47.084876] INFO: monkey小工具各流程日志输出: 当前模块 启动app时间线程测试 18 | [2018-01-26 09:14:47.085875] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 19 | [2018-01-26 09:14:47.085875] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 20 | [2018-01-26 09:20:07.908484] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 21 | [2018-01-26 09:20:07.909483] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 22 | [2018-01-26 09:20:07.909483] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 23 | [2018-01-26 09:20:15.410486] INFO: monkey小工具各流程日志输出: 当前模块 启动app时间线程测试 24 | [2018-01-26 09:20:15.410486] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 25 | [2018-01-26 09:20:15.411486] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 26 | [2018-01-26 09:20:53.949503] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 27 | [2018-01-26 09:20:53.950491] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 28 | [2018-01-26 09:20:53.951490] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 29 | [2018-01-26 09:20:53.997496] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 30 | [2018-01-26 09:20:53.998495] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 31 | [2018-01-26 09:20:53.999493] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 32 | [2018-01-26 09:20:53.999493] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 33 | [2018-01-26 09:21:32.602501] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 34 | [2018-01-26 09:21:32.603500] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 35 | [2018-01-26 09:21:32.604500] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 36 | [2018-01-26 09:21:39.170514] INFO: monkey小工具各流程日志输出: 当前模块 启动app时间线程测试 37 | [2018-01-26 09:21:39.171501] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 38 | [2018-01-26 09:21:39.171501] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 39 | [2018-01-26 09:21:55.351507] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 40 | [2018-01-26 09:21:55.352507] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 41 | [2018-01-26 09:21:55.352507] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 42 | [2018-01-26 09:21:55.398508] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 43 | [2018-01-26 09:21:55.399507] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 44 | [2018-01-26 09:21:55.400506] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 45 | [2018-01-26 09:21:55.400506] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 46 | [2018-01-26 09:22:22.002512] INFO: monkey小工具各流程日志输出: 当前模块 monkey测试 47 | [2018-01-26 09:22:22.003512] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 48 | [2018-01-26 09:22:22.004512] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 49 | [2018-01-26 09:22:22.005511] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 50 | [2018-01-26 09:22:22.005511] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 51 | [2018-01-26 09:22:22.006511] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 52 | [2018-01-26 09:22:22.036512] INFO: monkey小工具各流程日志输出: 请正确填写包名 53 | [2018-01-26 09:22:25.660173] INFO: monkey小工具各流程日志输出: 当前模块 执行monkey测试 54 | [2018-01-26 09:22:25.661174] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 55 | [2018-01-26 09:22:25.662176] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {'packagename': '0', 's_num': '0', 'throttle': '500', 'pct_touch': '0', 'pct_motion': '0', 'pct_trackball': '0', 'pct_nav': '0', 'pct_syskeys': '0', 'pct_appswitch': '0', 'num': '0', 'logfilepath': 'F:\\monekey.txt'} 56 | [2018-01-26 09:23:08.971181] INFO: monkey小工具各流程日志输出: 当前模块 monkey测试 57 | [2018-01-26 09:23:08.972181] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 58 | [2018-01-26 09:23:08.972181] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 59 | [2018-01-26 09:23:08.973180] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 60 | [2018-01-26 09:23:08.973180] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 61 | [2018-01-26 09:23:08.974180] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 62 | [2018-01-26 09:23:09.004182] INFO: monkey小工具各流程日志输出: 当前模块 执行monkey测试 63 | [2018-01-26 09:23:09.005195] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 64 | [2018-01-26 09:23:09.005195] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {'packagename': 'com.pangpangzhu.p2papp', 's_num': '10', 'throttle': '500', 'pct_touch': '1', 'pct_motion': '1', 'pct_trackball': '1', 'pct_nav': '1', 'pct_syskeys': '1', 'pct_appswitch': '2', 'num': '10', 'logfilepath': 'F:\\monekey.txt'} 65 | [2018-01-26 09:28:20.435286] INFO: monkey小工具各流程日志输出: 当前模块 monkey测试 66 | [2018-01-26 09:28:20.436288] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 67 | [2018-01-26 09:28:20.436288] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 68 | [2018-01-26 09:28:20.437286] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 69 | [2018-01-26 09:28:20.438286] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 70 | [2018-01-26 09:28:20.438286] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 71 | [2018-01-26 09:28:20.487274] INFO: monkey小工具各流程日志输出: 当前模块 执行monkey测试 72 | [2018-01-26 09:28:20.488274] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 73 | [2018-01-26 09:28:20.489274] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {'packagename': 'com.pangpangzhu.p2papp', 's_num': '10', 'throttle': '500', 'pct_touch': '1', 'pct_motion': '1', 'pct_trackball': '1', 'pct_nav': '1', 'pct_syskeys': '1', 'pct_appswitch': '2', 'num': '10', 'logfilepath': 'F:\\monekey.txt'} 74 | [2018-01-26 09:28:53.027293] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 75 | [2018-01-26 09:28:53.028293] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 76 | [2018-01-26 09:28:53.028293] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 77 | [2018-01-26 09:31:09.462321] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 78 | [2018-01-26 09:31:09.463311] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 79 | [2018-01-26 09:31:09.464309] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 80 | [2018-01-26 09:32:38.400341] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 81 | [2018-01-26 09:32:38.401343] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 82 | [2018-01-26 09:32:38.401343] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 83 | [2018-01-26 09:32:38.450331] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 84 | [2018-01-26 09:32:38.451331] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 85 | [2018-01-26 09:32:38.452331] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 86 | [2018-01-26 09:32:38.453331] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 87 | [2018-01-26 09:32:55.387345] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 88 | [2018-01-26 09:32:55.388345] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 89 | [2018-01-26 09:32:55.388345] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 90 | [2018-01-26 09:33:24.287389] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 91 | [2018-01-26 09:33:24.289391] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 92 | [2018-01-26 09:33:24.291389] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 93 | [2018-01-26 09:33:24.345388] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 94 | [2018-01-26 09:33:24.348389] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 95 | [2018-01-26 09:33:24.349388] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 96 | [2018-01-26 09:33:24.350390] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 97 | [2018-01-26 09:33:33.955389] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 98 | [2018-01-26 09:33:33.957390] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 99 | [2018-01-26 09:33:33.958390] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 100 | [2018-01-26 09:35:03.275409] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 101 | [2018-01-26 09:35:03.278409] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 102 | [2018-01-26 09:35:03.281409] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 103 | [2018-01-26 09:35:20.770412] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 104 | [2018-01-26 09:35:20.771412] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 105 | [2018-01-26 09:35:20.771412] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 106 | [2018-01-26 09:35:20.821413] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 107 | [2018-01-26 09:35:20.822415] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 108 | [2018-01-26 09:35:20.822415] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 109 | [2018-01-26 09:35:20.823413] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 110 | [2018-01-26 09:35:42.793439] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 111 | [2018-01-26 09:35:42.797421] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 112 | [2018-01-26 09:35:42.798419] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 113 | [2018-01-26 09:35:42.851416] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 114 | [2018-01-26 09:35:42.852429] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 115 | [2018-01-26 09:35:42.854429] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 116 | [2018-01-26 09:35:42.855428] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 117 | [2018-01-26 09:36:00.548422] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 118 | [2018-01-26 09:36:00.550449] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 119 | [2018-01-26 09:36:00.552420] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 120 | [2018-01-26 09:38:40.455503] INFO: monkey小工具各流程日志输出: 当前模块 次用线程来启动测试!采集cpu占用率,上传下载流量,内存 121 | [2018-01-26 09:38:40.457506] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 122 | [2018-01-26 09:38:40.458511] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 123 | [2018-01-26 09:38:53.502517] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 124 | [2018-01-26 09:38:53.506508] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 125 | [2018-01-26 09:38:53.507505] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 126 | [2018-01-26 09:38:53.560523] INFO: monkey小工具各流程日志输出: 测试小程序开始启动!测试开启! 127 | [2018-01-26 09:38:53.562504] INFO: monkey小工具各流程日志输出: 当前模块 获取设备状态 128 | [2018-01-26 09:38:53.563524] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 129 | [2018-01-26 09:38:53.564523] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 130 | -------------------------------------------------------------------------------- /python_tk_adb-master/log/monkey灏忓伐鍏峰悇娴佺▼鏃ュ織杈撳嚭-2018-01-26-09.log: -------------------------------------------------------------------------------- 1 | [2018-01-26 09:13:07.052000] INFO: monkey小工具各流程日志输出: 当前模块 判断系统,使用相应的命令 2 | [2018-01-26 09:13:07.074000] INFO: monkey小工具各流程日志输出: 全部args参数参数信息 , () 3 | [2018-01-26 09:13:07.075000] INFO: monkey小工具各流程日志输出: 全部kwargs参数信息 , {} 4 | -------------------------------------------------------------------------------- /python_tk_adb-master/ulit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mingming2513953126/python_tk_adb/13bbbe645cd008ee8dd085199c4417cad9d5e95c/python_tk_adb-master/ulit/__init__.py -------------------------------------------------------------------------------- /python_tk_adb-master/ulit/log.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Date : 2017-10-14 15:35:17 3 | # @Author : leizi 4 | import os 5 | from functools import wraps 6 | import logbook 7 | from logbook.more import ColorizedStderrHandler 8 | check_path='.' 9 | LOG_DIR = os.path.join(check_path, 'log') 10 | file_stream = False 11 | if not os.path.exists(LOG_DIR): 12 | os.makedirs(LOG_DIR) 13 | file_stream = True 14 | def get_logger(name='monkey小工具各流程日志输出', file_log=file_stream, level=''): 15 | """ get logger Factory function """ 16 | logbook.set_datetime_format('local') 17 | 18 | ColorizedStderrHandler(bubble=False, level=level).push_thread() 19 | logbook.TimedRotatingFileHandler( 20 | os.path.join(LOG_DIR, '%s.log' % name), 21 | date_format='%Y-%m-%d-%H', bubble=True, encoding='utf-8').push_thread() 22 | return logbook.Logger(name) 23 | 24 | LOG = get_logger(file_log=file_stream, level='INFO') 25 | def logger(param): 26 | """ fcuntion from logger meta """ 27 | def wrap(function): 28 | """ logger wrapper """ 29 | @wraps(function) 30 | def _wrap(*args, **kwargs): 31 | """ wrap tool """ 32 | LOG.info("当前模块 {}".format(param)) 33 | LOG.info("全部args参数参数信息 , {}".format(str(args))) 34 | LOG.info("全部kwargs参数信息 , {}".format(str(kwargs))) 35 | return function(*args, **kwargs) 36 | return _wrap 37 | return wrap 38 | 39 | -------------------------------------------------------------------------------- /python_tk_adb-master/ulit/py_excel.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Date : 2017-06-15 12:23:14 3 | # @Author : lileilei 4 | import xlsxwriter 5 | from .log import logger,LOG 6 | @logger('保存启动时间测试结果') 7 | def qidongceshi(cishu,start): 8 | try: 9 | workbook=xlsxwriter.Workbook('启动时间测试结果.xlsx') 10 | worksheet=workbook.add_worksheet('time') 11 | bold=workbook.add_format({'bold':1}) 12 | headings=['启动次数','启动时间'] 13 | data=[cishu,start] 14 | worksheet.write_row('A1',headings,bold) 15 | worksheet.write_column('A2',data[0]) 16 | worksheet.write_column('B2',data[1]) 17 | chart1 = workbook.add_chart({'type': 'scatter', 18 | 'subtype': 'straight_with_markers'}) 19 | chart1.add_series({ 20 | 'name':'=time!$B$1', 21 | 'categories': '=time!$A$2:$A$%s'%(len(start)+1), 22 | 'values': '=time!$B$2:$B$%s'%(len(start)+1), 23 | }) 24 | chart1.set_title({'name':'启动监测'}) 25 | chart1.set_x_axis({'name':"启动次数"}) 26 | chart1.set_y_axis({'name':'花费时间:ms'}) 27 | chart1.set_style(11) 28 | worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) 29 | workbook.close() 30 | LOG.info('保存启动时间成功') 31 | except: 32 | LOG.info('保存启动时间失败,原因:%s'%Exception) 33 | @logger('保存cpu,流量,内存') 34 | def getcpu(cishu,start_cpu,recv_list,send_list,total_list,Pass_list): 35 | try: 36 | workbook=xlsxwriter.Workbook('cpu_liu_men_report.xlsx') 37 | worksheet=workbook.add_worksheet('cpu') 38 | worksheet_liulang=workbook.add_worksheet('liulang') 39 | worksheet_men=workbook.add_worksheet('men') 40 | bold=workbook.add_format({'bold':1}) 41 | headings=['次数','cpu占用率'] 42 | headings_liuliang=['次数','上传流量','下载流量','总计'] 43 | headings_men=['次数','Pass占百分比'] 44 | data_cpu=[cishu,start_cpu] 45 | data_liuliang=[cishu,recv_list,send_list,total_list] 46 | data_men=[cishu,Pass_list] 47 | worksheet_liulang.write_row('A1',headings_liuliang,bold) 48 | worksheet_liulang.write_column('A2',data_liuliang[0]) 49 | worksheet_liulang.write_column('B2',data_liuliang[2]) 50 | worksheet_liulang.write_column('C2',data_liuliang[1]) 51 | worksheet_liulang.write_column('D2',data_liuliang[3]) 52 | worksheet_men.write_row('A1',headings_men,bold) 53 | worksheet_men.write_column('A2',data_men[0]) 54 | worksheet_men.write_column('B2',data_men[1]) 55 | worksheet.write_row('A1',headings,bold) 56 | worksheet.write_column('A2',data_cpu[0]) 57 | worksheet.write_column('B2',data_cpu[1]) 58 | chart1 = workbook.add_chart({'type': 'scatter', 59 | 'subtype': 'straight_with_markers'}) 60 | chart2=workbook.add_chart({'type': 'scatter', 61 | 'subtype': 'straight_with_markers'}) 62 | chart3=workbook.add_chart({'type': 'scatter', 63 | 'subtype': 'straight_with_markers'}) 64 | chart3.add_series({ 65 | 'name':'=men!$B$1', 66 | 'categories': '=men!$A$2:$A$%s'%(len(cishu)+1), 67 | 'values': '=men!$B$2:$B$%s'%(len(cishu)+1), 68 | }) 69 | chart2.add_series({ 70 | 'name':'=liulang!$B$1', 71 | 'categories': '=liulang!$A$2:$A$%s'%(len(cishu)+1), 72 | 'values': '=liulang!$B$2:$B$%s'%(len(cishu)+1), 73 | 74 | }) 75 | chart1.add_series({ 76 | 'name':'=cpu!$B$1', 77 | 'categories': '=cpu!$A$2:$A$%s'%(len(cishu)+1), 78 | 'values': '=cpu!$B$2:$B$%s'%(len(cishu)+1), 79 | }) 80 | chart2.add_series({ 81 | 'name':'=liulang!$C$1', 82 | 'categories':'=liulang!$A$2:$A$%s'%(len(cishu)), 83 | 'values':'=liulang!$C$2:$C$%s'%(len(cishu)), 84 | }) 85 | chart2.add_series({ 86 | 'name':'=liulang!$D$1', 87 | 'categories':'=liulang!$A$2:$A$%s'%(len(cishu)), 88 | 'values':'=liulang!$D$2:$D$%s'%(len(cishu)), 89 | }) 90 | chart2.set_title({'name':'流量统计图'}) 91 | chart2.set_x_axis({'name':'次数'}) 92 | chart2.set_y_axis({'name':'流量:k'}) 93 | chart2.set_style(11) 94 | chart3.set_title({'name':'内存占有率统计图'}) 95 | chart3.set_x_axis({'name':'次数'}) 96 | chart3.set_y_axis({'name':'pass值:k'}) 97 | chart3.set_style(11) 98 | worksheet_men.insert_chart('F2',chart3,{'x_offset':60,'y_offset':60}) 99 | worksheet_liulang.insert_chart('F2',chart2,{'x_offset': 60, 'y_offset': 60}) 100 | chart1.set_title({'name':'cpu占用率'}) 101 | chart1.set_x_axis({'name':"次数"}) 102 | chart1.set_y_axis({'name':'占用:%'}) 103 | chart1.set_style(11) 104 | worksheet.insert_chart('D2', chart1, {'x_offset': 60, 'y_offset': 60}) 105 | workbook.close() 106 | LOG.info('保存流量,内存等采集数据,成功') 107 | except: 108 | LOG.info('保存流量,内存等采集数据,失败:%s'%Exception) 109 | 110 | 111 | 112 | --------------------------------------------------------------------------------