通过python调用adb命令对App进行性能测试方式


Posted in Python onApril 23, 2020

1 监听启动activity 信息命令adb shell logcat | grep START 可以查看apk包名和Activity名字

=========启动时间============

2 冷启动(第一次启动)热启动(没有退出,第二次打开)命令 adb shell am start -W -n com.qihoo.appstore/.home.MainActivity

3 停止app命令(冷启动) adb shell am force-stop com.qihoo.appstore

(热启动方式退出) adb shell input keyevent 3

python 来实现方式

1定义App类方法有startApp stopApp getStartTime

2 Manager类 方法 testRunTime(执行单次) run 开启执行

==============cpu=================

查看cpu数据

adb shell dumpsys cpuinfo | findstr com.qihoo.appstore

注意 window 下必须把grep 换成 findstr

==================内存=========================

第一种

adb shell dumpsys meminfo com.qihoo.appstore

第二种方式

1 执行adb shell top >f:/meminfo.txt 一段时间后

2 再 解读文件信息

===============流量===================

1获取当前进程的adb shell ps | findstr com.qihoo.appstore

adb shell cat /proc/pid/net/dev

=================电量======================

执行获取电量的命令 adb shell dumpsys battery

设置手机进入非充电状态 adb shell dumpsys battery set status 1

=================帧率===fps===================

adb shell dumpsys gfxinfo com.qihoo.appstore > f:/fps.txt

Draw:表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。

Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长

Execute:表示把一帧数据发送到屏幕上排版显示实际花费的时间。其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间。

Draw + Process + Execute = 完整显示一帧 ,这个时间要小于16ms才能保证每秒60帧。

取得数据后,复制到excel中生成堆积柱状图。

补充知识:python调用adb命令进行手机操作

Python中执行cmd命令可以用到os和subprocess两个模块。

区别在于os是阻塞式的,subprocess是非阻塞式的,所以一般我们使用subprocess是比较适合的。

接下来我先举一个查询连接设备的命令来看看python中怎么样的写法。用到的命令为 adb devices。

方式一:

import os

os.system('adb devices') #获取连接设备

运行结果

List of devices attached

Q8DCGQA6JBQRSAI device

方式二:

import subprocess

order='adb devices' #获取连接设备

pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)

print(pi.stdout.read()) #打印结果

运行结果

b'List of devices attached\r\AQ8DCGQA6JBQRSAI\tdevice\r\n\r\n'

以上这篇通过python调用adb命令对App进行性能测试方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中xrange用法分析
Apr 15 Python
在Python的Django框架中创建语言文件
Jul 27 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 Python
python 将视频 通过视频帧转换成时间实例
Apr 23 #Python
Windows下Anaconda和PyCharm的安装与使用详解
Apr 23 #Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 #Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 #Python
Anaconda和ipython环境适配的实现
Apr 22 #Python
Django框架获取form表单数据方式总结
Apr 22 #Python
Anaconda的安装及其环境变量的配置详解
Apr 22 #Python
You might like
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
详解django自定义中间件处理
2018/11/21 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
python关于倒排列的知识点总结
2020/10/13 Python
Python中生成ndarray实例讲解
2021/02/22 Python
乡镇综治宣传月活动总结
2014/07/02 职场文书
会计专业求职信
2014/08/10 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
英文产品推荐信
2015/03/27 职场文书
紧急迫降观后感
2015/06/15 职场文书
毕业实习证明范本
2015/06/16 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书