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的方式連接哈,要不然就會一直處於充電狀態

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM