获取电流
adb shell dumpsys battery
切换非充电状态 (手机连接电脑后会自动进入充电状态,这个要关闭,否则影响结果)
adb shell dumpsys battery set status 1
level就是电量值
python 脚本: 设置场景 0.5小时 1小时 2小时 。。。 取每次电量值做差值,看是否有异常
import os import time import csv import string class Controller(object): def __init__(self,count): #定义测试的次数 self.counter = count #定义收集数据的数组 self.alldata = [("timestamp","traffic")] #单次测试过程 def testprocess(self): power =0 #执行电量的命令 result = os.popen("adb shell dumpsys battery") #获取电流的level for line in result: if "level" in line: power = line.split(":")[1] #获取当前时间 currenttime = self.getCurrentTime() #将获取到的数据存储 self.alldata.append((currenttime,power)) #多次测试过程 def run(self): # 执行切换非充电状态 os.popen("adb shell dumpsys battery set status 1") while self.counter >0: self.testprocess() self.counter = self.counter - 1 #5秒采集一次数据 time.sleep(5) #获取当前时间戳 def getCurrentTime(self): currentTime = time.strftime("%Y-%m-%d %H:%M:%S") return currentTime #数据的存储 def SaveDataToCsv(self): csvfile = open("traffic.csv","wb") writer = csv.writer(csvfile) writer.writerows(self.alldata) csvfile.close() if __name__ == '__main__': #如果想要测试指定时间内的结果,例如10分钟,可以转换成秒再除以5秒的等待时间得到要执行的次数120 controller = Controller(10) controller.run() controller.SaveDataToCsv()