通过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 tempfile模块学习笔记(临时文件)
May 25 Python
python取代netcat过程分析
Feb 10 Python
django加载本地html的方法
May 27 Python
python 协程 gevent原理与用法分析
Nov 22 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
python文件读取失败怎么处理
Jun 23 Python
Python如何读取、写入JSON数据
Jul 28 Python
解决python3输入的坑——input()
Dec 05 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
手把手教你配置JupyterLab 环境的实现
Feb 02 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
Content-type 的说明
2006/10/09 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
Python中处理时间的几种方法小结
2015/04/09 Python
python numpy 按行归一化的实例
2019/01/21 Python
django的ORM模型的实现原理
2019/03/04 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
2014年党委工作总结
2014/11/22 职场文书
小学语文教学反思范文
2016/03/03 职场文书