python 画图 内存-python来做专项测试-内存测试

(1)可以用appium来写出app的UI自动化脚本,每一条用例执行完毕之后,可以检查应用内存占用情况:

1,启动应用:

封装启动应用的函数:

# -*- coding: utf-8 -*-

from appium import webdriver

class startSession(object):

def __init__(self,desired_caps):

self.desired_caps = desired_caps

def run(self):

print '******* StartSession ******'

self.driver = webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)

return self.driver

def desired_caps():

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps['platformVersion'] = '7.1.1'

desired_caps['automationName'] = "uiautomator2"

desired_caps['deviceName'] ='2f7e2ac9'#YDBUJNYL8SNNPZGE 2f7e2ac9

desired_caps['noReset'] = 'true'

desired_caps['appActivity'] ='com.oppopay.payments.ui.activity.SplashActivity'

desired_caps['androidDeviceReadyTimeout'] = '180'

desired_caps['appPackage'] ='com.oppopay.payments'

return desired_caps

这个desired_caps是写成了一个函数,每次更换不同的手机时,需要修改,可以当做他是配置文件。

具体用例调用时,首先导入上面两个函数。

driver = startSession(desired_caps()).run() #启动应用

2,如何获取应用内存占用情况并且写入到excel表格中:

import csv

def Exmemory_data():

"""

采用adb shell dumpsys meminfo命令后面加apk包名来检查此app的内存消耗情况

native:Native代码分配的内存,虚拟机和Android框架分配内存。

关于什么是Native代码,即非Java代码分配的内存

dalvik:Java对象分配的占据内存

:return:

"""

alldata = [("native", "dalvik","TOTAL")]#写到表格中三个字段

# 设置循环次数

count = 10 #设置获取内存占用的次数

while count > 0:

#以微信举例。com.finshell.custapp com.tencent.mm

lines = os.popen("adb shell dumpsys meminfo com.pay.payments") # 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) # 等待时间

#将打印结果写到文件中。

file=open('test.csv','w')

writer=csv.writer(file)

writer.writerows(alldata)

file.close()

这个就可以获取到app的内存占用情况,可以在每次执行用例之后,调用这个函数来获取这个三个值。

但是这种方式写入excel表格存在一个问题,就是数据覆盖的问题。 不能接着写入,而是先清空,再写入。

y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值