您的位置:首页 > 编程语言 > Python开发

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

2018-06-10 18:17 711 查看

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中生成堆积柱状图.

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: