通过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中find()方法的使用
May 18 Python
win与linux系统中python requests 安装
Dec 04 Python
Python实现自动登录百度空间的方法
Jun 10 Python
python制作小说爬虫实录
Aug 14 Python
python opencv之SIFT算法示例
Feb 24 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
python 猴子补丁(monkey patch)
Jun 26 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
python中子类与父类的关系基础知识点
Feb 02 Python
如何在Python中妥善使用进度条详解
Apr 05 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中常量,变量的作用域和生存周期
2013/08/10 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python中偏函数用法示例
2018/06/07 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
pytorch中的inference使用实例
2020/02/20 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
收银出纳员岗位职责
2014/02/23 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
应聘教师求职信
2014/07/19 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
行政文员岗位职责
2015/02/04 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书