APP性能测试——冷启动耗时测试
冷启动耗时:
即后台没有该应用的进程(我们使用am force-stop命令结束app运行),打开软件,直到进入到首页activity页面,并计算耗时。
示例代码:
import os
import time # 测试冷启动时间
# 创建App进程, 加载相关资源, 启动Main Thread, 初始化首屏Activity
def startUpTime(pg_name, pga_name):
"""
:param device: 设备id
:param pg_name: activity名称
:param pga_name: 包名
"""
wait_time = 5
try:
with open('F:/report/coldStartUp.txt', 'wb+') as file:
su_time = []
for i in range(30):
os.popen("adb shell am force-stop {}".format(pg_name)) # kill 进程
time.sleep(wait_time)
# 启动activity
start = os.popen("adb shell am start -W {}".format(pga_name))
time.sleep(wait_time)
data = start.readlines()
for line in data:
if "TotalTime:" in line:
line = line.strip()
print("第{}次TotalTime为: {}ms".format(i+1,line[11:]))
if int(line[11:]) == 0:
break
su_time.append(int(line[11:]))
file.write(('第{}次\n'.format(i + 1)).encode())
line += '\n'
line = line.encode()
file.write(line)
return su_time
except os.error as error:
print(error) def getDev():
"""
:return: 获得设备id
"""
try:
devices_info = os.popen('adb devices')
data = devices_info.readlines()
if len(data) != 0 and data[1].find('device'):
s = data[1][:-7]
return s
return 0
except Exception as error:
print(error) def main_cold():
# 取测试机-s
s = getDev()
pn = 'sg.partying.ghost.android'
an = 'sg.partying.ghost.android/com.bb.infinity.InfiActivity' # aapt dump badging + apk
print('设备:{},APP包名:{}, activity:{}\n冷启动测试开始...'.format(s,pn, an))
time_list = startUpTime(pn, an)
total_time = 0
for i in time_list:
total_time += i
avg_time = total_time / len(time_list)
print('冷启动平均耗时: {}ms'.format(avg_time))
with open('F:/report/coldStartUp.txt', 'ab+')as f:
f.write(('\n设备{}平均冷启动耗时:{}ms'.format(s,avg_time)).encode()) if __name__ == '__main__':
main_cold()
APP性能测试——冷启动耗时测试的更多相关文章
- Android APP性能及专项测试
移动测试. Android测试 .APP测试 Android篇 1. 性能测试 Android性能测试分为两类:1.一类为rom版本(系统)的性能测试2.一类为应用app的性能测试 Android的a ...
- Android APP性能及专项测试(个人整理)
移动测试. Android测试 .APP测试 Android篇 1. 性能测试 Android性能测试分为两类:1.一类为rom版本(系统)的性能测试2.一类为应用app的性能测试 Android ...
- APP性能测试工具GT的使用总结:app内存测试
APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...
- Android app性能测试小结(7个性能指标)
1.性能测试的几个指标: 2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...
- Android APP性能测试笔记(一)
Android APP性能测试笔记(一) (1)工具使用 Android Studio GT, root的真机 (2)记录apk大小(对比竞品) 使用Android Studio导入需要测试 ...
- 【转】Emmagee app性能测试工具使用教程
简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控 ...
- app性能测试指标
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样.中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试.应用在网络上性能的测试和应用在服务器端性能的测试.通常情况下,三方 ...
- Emmagee app性能测试工具使用教程
Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个Ap ...
- APP性能测试中的几个重要概念
转载一篇文章,关于app性能测试的几个概念,对于想要接触app测试的朋友或许有些帮助. 我们在使用各种 App 的时候基本会关注到:这款软件挺耗流量的?运行起来设备掉电有点快嘛?切换页面的时候还会有卡 ...
- 常见的APP性能测试指标
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样.中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试.应用在网络上性能的测试和应用在服务器端性能的测试.通常情况下,三方 ...
随机推荐
- JAVA的作用
JAVA的用途广泛:1 .银行系统,政企信息系统,支付系统,大数据平台,网站平台. 2 .Saas云,手机app,云管理系统后台,电商系统后台,桌面工具. JAVA和PYTHON的抉择:JAVA是C语 ...
- Tomcat集群配置--负载均衡
Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...
- k8s中pv和pvc
转载: https://blog.csdn.net/echizao1839/article/details/125766826
- 记录一次antd升级到最新版本,与现有代码冲突导致的问题
背景:发版的前一夜,测试突然发现项目某个功能点击弹框会导致整个页面直接空白,立即提了个单要我赶紧修复.(内心真是一万个卧槽)本来准备不加班的.没办法,那只能解决.第一步就怀疑是不是谁动了代码,毕竟一两 ...
- Qt学习笔记(一) 关于QWidget类的paintEvent方法
今天要讨论的也算是QT的核心之一了,那就是如何对widget进行重绘,这里就是可以看到,继承了QWidget的子类,自己重新写一个paintEvent函数就可以了. 这个paintEvent就相当于是 ...
- leetcode -- 旋转矩阵相关问题
给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像. 示例 1: 给定 m ...
- SAP日志表 CDHDR和CDPOS
1. 标准日志表CDHDR 和 CDPOS OBJECTCLAS = 'INFOSATZ' 信息记录 OBJECTCLAS = 'BANF' 采购申请 OBJECTCLAS = 'EINKBELEG' ...
- select控件操作汇总
1.通过select的text来选中对应的option $("#dddddd option:contains('小型车')").attr("selected", ...
- unity meta pass
简单说就是在meta pass计算 albedo,emission,specular 3个值 光照烘焙,gi计算间接光照时都会用到这些值 Shader "MyShader/SampleLig ...
- P1068 [NOIP2009 普及组] 分数线划定 题解
目录 题目 思路 code 题目 P1068 [NOIP2009 普及组 思路 算出人数 排序 输出 如果同分也输出 否则break code #include<bits/stdc++.h> ...