APP性能测试——安装耗时测试
安装耗时:
这里我们用pm命令安装app,来截取安装时间(不要使用adb install安装,因为那样多一个push app的耗时)。
示例代码:
import os,time,datetime def setuptime(package_name):
'''单次安装耗时'''
os.popen('adb uninstall {}'.format(package_name)) #卸载app
time.sleep(3)
start_time=datetime.datetime.now()
os.popen("adb shell pm install /data/local/tmp/ghost-09081547.apk") #通过pm命令安装apk
end_time=datetime.datetime.now()
setup_time=(end_time-start_time).total_seconds() #计算单次安装耗时
return setup_time def installTime(package_name):
'''测试安装30次平均耗时并写入txt文本'''
try:
with open('F:/report/installtime.txt', 'wb+') as file:
su_time = []
for i in range(30):
setup_time = setuptime(package_name)
if setup_time==0:
continue
else:
su_time.append(setup_time)
print("第{}次安装耗时为: {}s".format(i + 1,setup_time))
file.write(("第{}次安装耗时为: {}s\n".format(i + 1,setup_time)).encode())
return su_time
except os.error as error:
print(error) def getDev():
'''获得设备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_setup(package_name):
'''计算平均耗时并写入txt文本'''
s = getDev()
print('设备:{},APP包名:{}\n安装测试开始...'.format(s,package_name))
time_list = installTime(package_name)
total_time = 0
for i in time_list:
total_time += i
avg_time = total_time / len(time_list)
print('安装平均耗时: {}s'.format(avg_time))
with open('F:/report/installtime.txt', 'ab+')as f:
f.write(('\n设备{}平均安装耗时:{}s'.format(s,avg_time)).encode()) if __name__ == '__main__':
os.popen("adb push F:\ghost\ghost-09081547.apk /data/local/tmp/") #通过adb命令将apk从pc本地拷贝到手机内存中,注意不要存入/sdcard/目录,部分手机限制访问
package_name = 'sg.partying.ghost.android' #app应用包名
main_setup(package_name)
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). ...
- 【转】Emmagee app性能测试工具使用教程
简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控 ...
- Emmagee app性能测试工具使用教程
Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个Ap ...
- APP性能测试中的几个重要概念
转载一篇文章,关于app性能测试的几个概念,对于想要接触app测试的朋友或许有些帮助. 我们在使用各种 App 的时候基本会关注到:这款软件挺耗流量的?运行起来设备掉电有点快嘛?切换页面的时候还会有卡 ...
- App性能测试揭秘(Android篇)
阿里云 云原生应用研发平台EMAS 李嘉华(千瞬) 简介: 性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术 ...
- 当云遇见APP性能测试会怎样?
一个测试人员应该明白,无论是在云内部或是外部,对一个应用程序而言,需要进行测试的地方都是一样的.最终用户只关注的是一个无缺陷的高性能的应用程序,而不关心应用程序位于哪里.在大多数的云服务协议里,都会提 ...
- Android app性能测试小结(7个性能指标)
1.性能测试的几个指标: 2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...
- Android APP性能测试笔记(一)
Android APP性能测试笔记(一) (1)工具使用 Android Studio GT, root的真机 (2)记录apk大小(对比竞品) 使用Android Studio导入需要测试 ...
随机推荐
- Markdowm的下载方法
1打开百度搜索,输入TYPORA打开下载页面,根据自己的系统(我的是WINDOWS64位)点"DOWN"进行下载安装. 2安装好后回到桌面新建一个文件夹(Markdown学习),然 ...
- PyQt5模块说明
pyqt5的类别分为几个模块,包括以下: QtCoreQtGuiQtWidgetsQtMultimediaQtBluetoothQtNetworkQtPositioningEnginioQtWebSo ...
- Maven简答题
1.什么是Maven? 自动化构建工具,专注服务于Java平台的项目构建和依赖管理 2.使用Maven的好处以及原因? (1)大量的jar包反复复制,造成冗余.使用Maven后每个jar包只在本地仓库 ...
- 用C++写的文件字符数、单词数以及总行数的统计(源码)
#include <stdio.h> #include <fstream> #include <string> using namespace std; //计算单 ...
- You are using pip version 8.1.2, however version 23.0 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
今天使用python2安装es模块时报错: 原因是pip(模块管理工具)版本过低,需先升级pip,再进行安装 先替换pip的镜像,默认镜像拉取慢,还可能会失败 cd ~;mkdir .pip;touc ...
- HBase对表增查操作 API
public class HBaseDML { //静态属性 public static Connection conn = HBaseConnection2.conn; //添加数据 public ...
- python 操作 ES 一、基础操作
示例代码环境 python:3.8 es:7.8.0环境安装 pip install elasticsearch==7.8.0 from elasticsearch import Elasticsea ...
- ADC多通道采样DMA传输模板
void MyADC_Init(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; DMA_I ...
- Javascript格式化数字字符串,如手机号,银行卡号的格式化
手机号13312341234转化成133 1234 1234 //方式一 function format_tel(tel){ tel = String(tel); return tel.replace ...
- Using Yocto Project with BeagleBone Black 英文版、Using Yocto Project with BeagleBone Black中文版
Using Yocto Project with BeagleBone Black 手册英文版.中文版 https://market.m.taobao.com/app/idleFish-F2e/wi ...