APP性能测试——热启动耗时测试
2022/9/13 23:25:29
本文主要是介绍APP性能测试——热启动耗时测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
热启动耗时:
即当启动应用时,后台已有该应用的进程(我们模拟按下HOME键),打开软件,直到进入到首页activity页面,并计算耗时。
示例代码:
import os import time def hotTime(device, pg_name, pga_name): """ :param device: :param pg_name: :param pga_name: :return: """ # kill 进程 wait_time = 5 os.popen("adb -s {} shell am force-stop {}".format(device, pg_name)) time.sleep(wait_time) os.popen("adb -s {} shell am start -W {}".format(device, pga_name)) time.sleep(wait_time) try: with open('F:/report/hotTime.txt', 'wb+') as f: hot_time = [] for i in range(30): keyEvent(3) # adb模拟按下Home键 time.sleep(wait_time) start = os.popen("adb -s {} shell am start -W {}".format(device, pga_name)) # 启动activity 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 hot_time.append(int(line[11:])) f.write(('第{}次\n'.format(i + 1)).encode()) line += '\n' f.write(line.encode()) return hot_time except os.error as error: print(error) # 获得设备ID 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][:-8] return s return 0 except Exception as error: print(error) # 模拟发送keyEvent def keyEvent(keycode): """ :param keycode: 键值 """ # KEYCODE_HOME = 3 # KEYCODE_BACK = 4 cmd = 'adb shell input keyevent {}'.format(keycode) os.popen(cmd) time.sleep(1) def main_hot(): """ :return: """ s = getDev() #pn = 'com.imbb.banban.android' gh_packagename='sg.partying.ghost.android' #an = 'com.imbb.banban.android/.MainActivity' # aapt dump badging + apk gh_activityname='sg.partying.ghost.android/com.bb.infinity.InfiActivity' print(s, gh_packagename, gh_activityname,'\n热启动测试开始...') hot_list = hotTime(s, gh_packagename, gh_activityname) #print(hot_list) print('热启动测试结束...') stime=sum(hot_list) #print(stime) avgtime=stime/len(hot_list) print(avgtime) with open('F:/report/hotTime.txt', 'ab+')as f: f.write(('\n设备{}平均热启动耗时:{}ms'.format(s,avgtime)).encode()) #print(sum(hot_list)/len(hot_list)) if __name__ == '__main__': main_hot()
这篇关于APP性能测试——热启动耗时测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署