Appium系列(三十五)封装安卓获取性能数据

2021-07-06 16:59:03 浏览数 (1)

我们首先明确我们获取的性能数据。本文我们简单介绍下不同的性能指标的采集。

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复制

0 人点赞