脚本语言并使用起来。这是自己闲来无事写的第一个可以使用的脚本。
通过ADB获取内存及流量的信息,然后写入excel表: 上代码:(真心觉得很low)
#coding=utf-8
importtime#use to control time
importsubprocess
importxlwt
package_name_mysdk ='com.test.wo'
package_name_weixin ='com.tencent.mm'
defgetPSS(package_name):
p1 = subprocess.Popen('adb shell dumpsys meminfo '+ package_name +' | grep "TOTAL"',
stdout=subprocess.PIPE,stderr=subprocess.PIPE)#用adb获取信息
text = p1.stdout.read()
listoftext = text.split()
print'PSS='+ listoftext[1]
returnint(listoftext[1])
time_start =0
time_end =0
book = xlwt.Workbook(encoding='utf-8',style_compression=0)#创建新的工作簿
sheet_sdk = book.add_sheet('PSS-SDK',cell_overwrite_ok=True)#创建新的sheet,并命名为PSS
sheet_wx = book.add_sheet('PSS-WX',cell_overwrite_ok=True)#创建新的sheet,并命名为PSS
sheet_sdk.write(0,0,"time")
sheet_sdk.write(0,1,"PSS")
sheet_wx.write(0,0,"time")
sheet_wx.write(0,1,"PSS")
row =1
col =0
whiletime_end <=3600:
timeNow = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))#获取当前时间
printtimeNow
sheet_sdk.write(row,col,timeNow)
sheet_wx.write(row,col,timeNow)
try:
pss_sdk = getPSS(package_name_mysdk)
sheet_sdk.write(row,col +1,pss_sdk)
pss_wx = getPSS(package_name_weixin)
sheet_wx.write(row,col +1,pss_wx)
except:
printtime.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) +" process has been shoutdown!"
row +=1
time.sleep(10)
book.save(r"d:\pss.xls")
#coding=utf-8
importtime#use to control time
importsubprocess
importxlwt
defgetUid(package_name):#获取UID
p1 = subprocess.Popen('adb shell dumpsys package '+package_name+' | grep "userId"',
stdout=subprocess.PIPE,stderr=subprocess.PIPE)#用adb获取信息
uidLongString = p1.stdout.read()
uidLongList = uidLongString.split()
uidMap = uidLongList[0]
uid =str(uidMap.split("=")[1])
returnuid
defgetRev(package_name):#获取某个APP的TCP下载流量
p1 = subprocess.Popen('adb shell cd proc && cd uid_stat && cd '+ getUid(package_name) +' && cat tcp_rcv',
stdout=subprocess.PIPE,stderr=subprocess.PIPE)#用adb获取信息uid
flo_rec =int(p1.stdout.read())
returnflo_rec
defgetSnd(package_name):#获取某个APP的TCP上传流量
p1 = subprocess.Popen('adb shell cd proc && cd uid_stat && cd '+ getUid(package_name) +' && cat tcp_snd',
stdout=subprocess.PIPE,stderr=subprocess.PIPE)#用adb获取信息
flo_snd =int(p1.stdout.read())
returnflo_snd
time_start =0
time_end =0
col =0
row =0
book_sdk = xlwt.Workbook(encoding='utf-8',style_compression=0)#创建新的工作簿sdk
book_wx = xlwt.Workbook(encoding='utf-8',style_compression=0)#创建新的工作簿wx
sheet_load_sdk = book_sdk.add_sheet('LOAD',cell_overwrite_ok=True)#创建新的sheet,并命名为LOAD
sheet_upload_sdk = book_sdk.add_sheet('UPLOAD',cell_overwrite_ok=True)
sheet_load_wx = book_wx.add_sheet('LOAD',cell_overwrite_ok=True)#创建新的sheet,并命名为LOAD
sheet_upload_wx = book_wx.add_sheet('UPLOAD',cell_overwrite_ok=True)
sheet_load_sdk.write(row,col,"time")
sheet_load_sdk.write(row,col +1,"load")
sheet_load_wx.write(row,col,"time")
sheet_load_wx.write(row,col +1,"load")
sheet_upload_sdk.write(row,col,"time")
sheet_upload_sdk.write(row,col +1,"upload")
sheet_upload_wx.write(row,col,"time")
sheet_upload_wx.write(row,col +1,"upload")
package_name_sdk ="com.test.wo"
package_name_wx ="com.tencent.mm"
try:
uid_sdk = getUid(package_name_sdk)
printtime.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) +' uid = '+str(uid_sdk)
except:
print'获取sdk-uid失败'
try:
uid_wx = getUid(package_name_wx)
printtime.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) +' uid = '+str(uid_wx)
except:
print'获取wx-uid失败'
row =1
col =0
whiletime_end <=60:
load_sdk = getRev(package_name_sdk)
upload_sdk = getSnd(package_name_sdk)
load_wx = getRev(package_name_wx)
upload_wx = getSnd(package_name_wx)
timeNow = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))#获取当前时间
sheet_load_sdk.write(row,col,timeNow)#写入时间
sheet_load_sdk.write(row,col +1,load_sdk)#写入下载流量
sheet_upload_sdk.write(row,col,timeNow)#写入时间
sheet_upload_sdk.write(row,col +1,upload_sdk)#写入下载流量
sheet_load_wx.write(row,col,timeNow)#写入时间
sheet_load_wx.write(row,col +1,load_wx)#写入下载流量
sheet_upload_wx.write(row,col,timeNow)#写入时间
sheet_upload_wx.write(row,col +1,upload_wx)#写入下载流量
printstr(timeNow) +' load='+str(load_sdk) +' upload='+str(upload_sdk)
printstr(timeNow) +' load='+str(load_wx) +' upload='+str(upload_wx)
row = row +1
time.sleep(10)
time_end +=10
book_sdk.save(r"d:\sdkFolw.xls")
book_wx.save(r"d:\wxFlow.xls")