通过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中使用列表生成式的教程
Apr 27 Python
Python闭包实现计数器的方法
May 05 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
在windows下Python打印彩色字体的方法
May 15 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
Python3进制之间的转换代码实例
Aug 24 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
python matplotlib实现将图例放在图外
Apr 17 Python
python使用smtplib模块发送邮件
Dec 17 Python
利用Python批量识别电子账单数据的方法
Feb 08 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
预备党员综合考察材料
2014/05/31 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
公司晚会主持词
2019/04/17 职场文书
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android