(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

python 画图 内存-python来做专项测试-内存测试相关推荐

  1. python画图、python小游戏、python刷题、python算法、python编程与数学

    python画图系列整理 python画图系列整理-CSDN博客 python游戏入门书籍推荐 python游戏入门书籍推荐_pygame书籍推荐_dllglvzhenfeng的博客-CSDN博客 p ...

  2. python画图颜色-python中matplotlib的颜色及线条控制的示例

    下次用python画图的时候选色选点都可以直接参考这边,牛逼!分享给大家,也给自己留个笔记. 参考网址: 第二个参考网址给出了linestyle可选参数: '-' solid line style ' ...

  3. python画图代码-Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

    在开始这个话题之前,我想问大家:什么是 Python?根据 Python 之父 Guido van Rossum 的话,Python是:一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员 ...

  4. 用python画图代码-Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 具体来说是pylab和p ...

  5. python画图-用Python画图

    python2.6后引入一个叫做海龟绘图(Turtle Graphics),的绘图工具.turtle库是python的内部库,直接使用即可 import turtle 思路: 1. 确定好需要画的图 ...

  6. python画图包-Python 绘图包 Matplotlib Pyplot 教程

    Pyplot 接口简介 Pyplot 入门 matplotlib.pyplot?是命令风格函数的集合,使 Matplotlib 像 MATLAB 一样工作.每个 Pyplot 函数对图形做一些修改,例 ...

  7. python画图三维-Python三维绘图之Matplotlib库的使用方法

    前言 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的三维绘图工具. 1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式, ...

  8. python画图程序-python画图之“小海龟”turtle

    "小海龟"turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平 ...

  9. 用python画图-用python进行简单的画图操作

    我用python的matplotlib模块进行简单的画图操作,作为入门参考,下面直接上代码:#coding:utf-8 import numpy as np import matplotlib.pyp ...

  10. python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

最新文章

  1. CountUp.js – 让数字以非常有趣的动画方式显示
  2. juqery代码优化
  3. les物流执行系统_【精益运营】立足智慧物流 推进仓储智能化稳步升级
  4. HDU 最大报销额 (0 1 背包)
  5. 源码安装zabbix遇到的报错集锦
  6. php访问网页post获取源码,第一次抓别人网站数据,用postman直接请求可以获取到返回数据,通过代码的方式就一直报错,php...
  7. php修改mysql数据找不到_php 如何修改mysql数据
  8. Android开发笔记(十八)书籍翻页动画PageAnimation
  9. 最強御主人様!-Mighty My Master-全年龄汉化补丁(第二版修正)
  10. IDEA启动Tomcat报错Address localhost:1099 is already in use解决办法
  11. sql 2005中全文索引的使用
  12. air文件打包成exe
  13. 手写仿淘宝商城页面(html+css+部分js)
  14. 基于JavaWeb的背单词系统的设计与实现
  15. 眼镜寿命不仅跟镜架材质有关,还跟习惯有关系!
  16. Oracle错误处理机制
  17. 述职答辩提问环节一般可以问些什么_答辩时老师一般会提问哪些?
  18. 中国历史上水平最高的十首诗词,你都读过吗?
  19. Discuz X 多页面专题制作教程
  20. 《Blender图解教程:新手入门练习》

热门文章

  1. [MySQL] 几句MySQL时间筛选SQL语句[进入查看]
  2. C# TCP sever client
  3. 控制好节奏,踏实做好每件事
  4. 剑指offer(19): 顺时针打印矩阵
  5. 8086 汇编指令手册查询(转)
  6. 02---控制移动底座4
  7. java step1:基础知识5(java中Timer和TimerTask的使用)
  8. malloc 和 calloc的区别?
  9. Jquery背景图片的预加载
  10. python基础知识选择题-99道经典练习题助你全面掌握python基础知识,附技巧答案...