微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

appium---Android app资源监控

  我们在做app测试的过程中,都会对app内存,cpu这些做一个简单的测试,今天简单的写下如何通过python监控app这些资源变化

 

实现原理

1、通过adb命令查看app资源内存

2、通过python脚本调用adb命令

3、持续监控写入txt文件或者csv文件

 

监控资源过程

我们以淘宝app为例完成本次监控

adb监控内存命令

# adb监控内存变化
adb shell dumpsys meminfo com.taobao.taobao

进行数据分析

通过观察,我们只需要提取出来结果的 Native Heap 和 Dalvik Heap,还有内存总和 TOTAL,接下来我们通过python把想要的数据提取出来

# coding:utf-8
import os
# 获取淘宝内存命令
adb = 'adb shell dumpsys meminfo com.taobao.taobao'
# 执行adb命令
result = os.popen(adb).read()
# 以','进行分割
temp = ','.join(result.split())
# 获取native值
native = temp.split('Native,Heap')[1].split(',')[1]
# 获取dalvik值
dalvik = temp.split('Dalvik,Heap')[1].split(',')[1]
# 获取total值
total = temp.split('TOTAL')[1].split(',')[1]

这样的话就把我们想要的数据提取出来了,可以中间加个等待时间,每几秒提取次数据,接下来我们呢进行对这些数据写入csv文件或者txt文件

首先我们创建一个列表,把每次提取出来的数据放入到列表中,写入csv文件

# coding:utf-8
import os
import time
import csv
alldata = [("native", "dalvik","TOTAL")]
# 设置循环次数
count = 10
while count > 0:
    lines = os.popen("adb shell dumpsys meminfo com.taobao.taobao")    # adb 查看app内存
    result = lines.read()
    temp = ','.join(result.split())
    native_heap = temp.split('Native,Heap')[1].split(',')[1]
    print ("native_heap:" + str(native_heap))
    dalvik_heap = temp.split('Dalvik,Heap')[1].split(',')[1]
    print ("dalvik_heap:" + str(dalvik_heap))
    total = temp.split('TOTAL')[1].split(',')[1]
    print ("total:" + str(total))
    alldata.append([native_heap, dalvik_heap,total])
    count -= 1
    print('还剩余:%s次'%count)
    time.sleep(1)   # 等待时间
    csvfile = open('test02.csv', 'w',encoding='utf8',newline='')
    writer = csv.writer(csvfile)
    writer.writerows(alldata)
    csvfile.close()

 

 

当我们在跑自动化的过程中,我们再次执行这个监控内存脚本,就可以完成对app内存资源的监控了;

剩下的cpu,耗电量大家试着完成下,要记住耗电量不能通过USB的方式连接哈,要不然就会一直处于充电状态

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐