安卓测试之CPU监控

ADB命令

使用的是adb shell dumpsys命令,该命令可以查询出当前系统的信息,CPU就是其中一项。我们用cpuinfo限定显示CPU信息,通过搜索APP包名过滤出要测试的APP(Linux系统可以用grep)。

adb shell dumpsys cpuinfo | find "包名"

运行结果图如下:我们查看的是浏览器的所占用的CPU,值为71%
结果图

监控CPU脚本实现

基于python3,具体实现如下:

#encoding=utf-8

import os
import time
import csv

class Controller():

    def __init__(self):
        self.alldata=[('time','CPU')]

    #运行命令查询cpu值,参数:appPackage为app包名,count为查询次数,sleepTime为每次查询时间间隔,默认为1S。
    def run(self,appPackage,count,sleepTime=1):
        while count>0:
            cmd='adb shell dumpsys cpuinfo | find "'+appPackage+'"'
            nowtime=self.getCurrentTime()
            result=os.popen(cmd)
            cpu=result.readline().split('%')[0]
            self.alldata.append((nowtime,cpu))
            time.sleep(sleepTime)
            count=count-1
            
    #获取当前时间
    def getCurrentTime(self):
        return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
    
    #将获取的所有cpu值存放在csv文件中,参数path为csv文件路径
    def saveDataToCSV(self,path):
        file=open(path,'w')
        writer=csv.writer(file)
        writer.writerows(self.alldata)
        file.close()

if __name__=="__main__":
    controller=Controller()
    controller.run('com.android.browser',20)
    controller.saveDataToCSV('cpu.csv')

运行之后得到的csv文件如下图:
安卓测试之CPU监控_第1张图片

你可能感兴趣的:(Android测试)