我们首先明确我们获取的性能数据。本文我们简单介绍下不同的性能指标的采集。
1.采集cpu
2.采集内存
那么我们需要梳理下,我们的封装的思路。
1.判断我们的执行的系统
2.根据我们测试的是安卓还是ios,来选择对应的方式
3.读取性能数据,返回数据。
那么根据上面的梳理呢,我们去实现对应的方法。我们在common创建
代码语言:javascript复制pertools.py,然后我们去实现对应的方法。具体的代码实现如下。
代码语言:javascript复制'''
1.获取cpu信息
2.获取内存信息
'''
import platform, os
from config import test_phone_type
def getsystemsta():
'''根据所运行的系统获取adb不一样的筛选条件'''
system = platform.system()
if system == 'Windows':
find_manage = 'findstr'
else:
find_manage = 'grep'
return find_manage
def caijicpu(packagename, devices):
systenmtype = getsystemsta()
'''这里采集的cpu时候可以是执行操作采集 就是-n -d 刷新间隔'''
if test_phone_type.lower()=="android":
try:
cpu = 'adb -s %s shell top -n 1| %s %s' % (devices, systenmtype, packagename)
re_cpu = os.popen(cpu).read().split()[2]
return re_cpu
except:
pass
elif test_phone_type.lower()=="ios":
pass
else:
return 0
def getnencun(devices, packagename):
'''Total 的实际使用过物理内存'''
systenmtype = getsystemsta()
if test_phone_type.lower() == "android":
try:
cpu = 'adb -s %s shell top -n 1| %s %s' % (devices, systenmtype, packagename)
re_cpu = os.popen(cpu).read().split()[6]
re_cpu_m = str(round(int(re_cpu[:-1]) / 1024)) 'M'
return re_cpu_m
except:
return 0
elif test_phone_type.lower()=="ios":
pass
else:
return 0
这样我们就可以在后续的代码中使用。获取我们对应的用例执行的数据。
代码语言:javascript复制