如何做H5性能测试?
提起H5性能测试,可能许多同学有所耳闻,但是不知道该如何对H5做性能测试,或者不知道H5应该关注哪些性能指标。今天我们就来看下,希望阅读本文后,能够有所了解。

常用指标
1、H5性能相关参数介绍
- 白屏时间:用户首次看到网页又内容的时间,即第一次渲染流程完成时间。
- 首屏时间:用户看到第一屏,即整个网页完全显示出来的时间。
- 首资源下载时间:从开始下载第一个资源到下载完成的时间。
- 总资源下载时间:从开始已下载到所有资源都下载完成的时间。
- 用户可操作时间:从页面开始加载,到用户能够操作页面的时间。
在APP客户端上测试测试H5性能时,还要关注因为加载H5时,APP的常规性能指标:
- 内存:加载页面前后内存变化,可以反映出H5中资源数量和大小。
- CPU:如果当前页面中样式过于复杂,可以观页面加载时的CPU占有率,如果CPU长期处于高占用率,需要考虑优化
- FPS:在动画效果比较复杂 或者有视频的H5页面中,应该重点关注,防止严重的卡顿。
2、H5性能测试点
影响H5性能有这几个因素:网络带宽、DNS解析、服务器处理能力等。以下是H5性能的测试点:

常用工具
目前开源的免费的工具很多了,可以根据自己的需要来选用。
1、WebPageTest
WebPageTest是一个免费开源的在线性能评测工具;其使用真正的浏览器(IE和Chrome等)与真实的消费者连接速度,可以从全球多个地点运行免费网站速度测试;并依据测试结果提供丰富的诊断信息,包括资源加载瀑布图,页面速度优化检查和改进建议,会给每一项内容一个最终的评级。
打开官网地址:
https://www.webpagetest.org

在上图中2处输入要测试的URL网址。
在3处选择地址(Test Location),WebPagetest具有位于世界各地的测试机器,你应该从接近用户访问的位置进行测试,下拉选择就好,可以选择安卓,iOS,PC端等设备,以及不同国家地等;
在4处选择使用什么浏览器进行测试,不同的位置支持不同的浏览器。
补充:点击Advanced Setting下拉可以进行高级设置,不过我们一般选择默认就好。
设置完成后,点击START TEST,开始测试。
2、Chrome DevTools
Chrome DevTools(Chrome 开发者工具) 是内嵌在 Chrome 浏览器里的一组用于网页制作和调试的工具。
打开要测试的网页,F12 可以看到Network的选项,在该选项下可以看到相应的网络请求时间和类型,以及资源大小。
同理,也可以用Charels 等抓包工具来分析。

3、Page Speed
page speed 是google的一个浏览器插件,需要手动安装或者添加在谷歌浏览器。
打开需要测试的网站,按F12 后,可以看到PageSpeed 的选项。
点击START 开始分析,测试完成后会产出分析报告。

4、Lighthouse
Lighthouse是一个开源的自动化工具,可将其作为一个 Chrome的插件运行,或者从命令行运行。
通过chrome的应用商店搜索Lighthouse下载安装后,打开需要测试的网页,按F12 ,可以看到LightHouse的选项,打开后,点击Analyze page load 就开始分页页面性能,生成性能分析报告。

报告样式如下:

相关指标含义:
- 首次内容绘制(First Contentful Paint):即浏览器首次将任意内容(如文字、图像、canvas 等)绘制到屏幕上的时间点。
- 可交互时间(Time to Interactive):指的是所有的页面内容都已经成功加载,且能够快速地对用户的操作做出反应的时间点。
- 速度指标(Speed Index):衡量了首屏可见内容绘制在屏幕上的速度。在首次加载页面的过程中尽量展现更多的内容,往往能给用户带来更好的体验,所以速度指标的值约小越好。
- 最大内容绘制(Largest Contentful Paint):表示可视区“内容”最大的可见元素开始出现在屏幕上的时间点。
- 总的阻塞时间(Total Blocking Time):表示此次分析过程中遇到的阻塞时间。
关于H5性能的指标个工具就介绍这些,希望看了后对你能有所帮助~
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。


如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!!

相关文章:
如何做H5性能测试?
提起H5性能测试,可能许多同学有所耳闻,但是不知道该如何对H5做性能测试,或者不知道H5应该关注哪些性能指标。今天我们就来看下,希望阅读本文后,能够有所了解。 常用指标 1、H5性能相关参数介绍 白屏时间:…...
【Docker】Docker Desktop配置资源:cpu、内存等(windows环境下)
Docker Desktop配置资源:cpu、内存等(windows环境下) 一、WSL2 以及 hyper-v区别,二者安装docker desktop1.WSL2和hyper-v区别2.安装Docker Desktop 二、docker desktop限额配置,资源配置方法 Docker 是指容器化技术&a…...
8.2.tensorRT高级(3)封装系列-内存管理的封装,内存的复用
目录 前言1. 内存管理封装2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-内存管理的封装&…...
Keepalived入门指南:实现故障转移和负载均衡
文章目录 一、简介1. Keepalived概述2. 高可用性和负载均衡的重要性 二、故障转移1. 什么是故障转移2. Keepalived的故障转移原理a) VRRP协议b) 虚拟路由器ID和优先级 3. 配置Keepalived实现故障转移a) 主备服务器的设置b) 监控网络接口c) 虚拟IP的配置d) 备份服务器接管流程 三…...
cuOSD(CUDA On-Screen Display Library)库的学习
目录 前言1. cuOSD1.1 Description1.2 Getting started1.3 For Python Interface1.4 Demo1.5 Performance Table 2. cuOSD案例2.1 环境配置2.2 simple案例2.3 segment案例2.4 segment2案例2.5 polyline案例2.6 comp案例2.7 perf案例 3. cuOSD浅析3.1 simple_draw函数 4. 补充知…...
c++函数指针基本用法
将函数像变量一样传递,实际上拿到的是函数的地址,由于函数类型的多样,可以使用auto关键字,可以使用 void(*function2)() ,不过它太繁琐,因此使用typedef 起个名字 typedef void(*HelloWorldFunction)(); 叫…...
Java创建对象的几种方式
在Java中,对象是程序中的一种基本元素,它通过类定义和创建。本篇教程旨在介绍Java中创建对象的几种方式,包括使用new关键字、反射、clone、反序列化等方式。 使用new关键字创建对象 在Java中,最常用的创建对象方式是使用new关键…...
Docker实战专栏简介
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
解放数据库,实时数据同步利器:Alibaba Canal
文章首发地址 Canal是一个开源的数据库增量订阅&消费组件,主要用于实时数据同步和数据订阅的场景,特别适用于构建分布式系统、数据仓库、缓存更新等应用。它支持MySQL、阿里云RDS等主流数据库,能够实时捕获数据库的增删改操作ÿ…...
机器学习基础之《分类算法(3)—模型选择与调优》
作用是如何选择出最好的K值 一、什么是交叉验证(cross validation) 1、定义 交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试&#x…...
Datawhale Django后端开发入门 TASK03 QuerySet和Instance、APIVIew
一、QuerySet QuerySet 是 Django 中的一个查询集合,它是由 Model.objects 方法返回的,并且可以用于生成数据库中所有满足一定条件的对象的列表。 QuerySet 在 Django 中表示从数据库中获取的对象集合,它是一个可迭代的、类似列表的对象集合。主要特点…...
Python 网页解析中级篇:深入理解BeautifulSoup库
在Python的网络爬虫中,BeautifulSoup库是一个重要的网页解析工具。在初级教程中,我们已经了解了BeautifulSoup库的基本使用方法。在本篇文章中,我们将深入学习BeautifulSoup库的进阶使用。 一、复杂的查找条件 在使用find和find_all方法查找…...
IDEA 如何制作代码补丁?IDEA 生成 patch 和使用 patch
什么是升级补丁? 比如你本地修复的 bug,需要把增量文件发给客户,很多场景下大家都需要手工整理修改的文件,并整理好目录,这个很麻烦。那有没有简单的技巧呢?看看 IDEA 生成 patch 和使用 patch 的使用。 介…...
Redis专题-秒杀
Redis专题-并发/秒杀 开局一张图,内容全靠“编”。 昨天晚上在群友里看到有人在讨论库存并发的问题,看到这里我就决定写一篇关于redis秒杀的文章。 1、理论部分 我们看看一般我们库存是怎么出问题的 其实redis提供了两种解决方案:加锁和原子操…...
C++笔记之std::move和右值引用的关系、以及移动语义
C笔记之std::move和右值引用的关系、以及移动语义 code review! 文章目录 C笔记之std::move和右值引用的关系、以及移动语义1.一个使用std::move的最简单C例子2.std::move 和 T&& reference_name expression;对比3.右值引用和常规引用的经典对比——移动语义和拷贝语…...
ES6自用笔记
目录 原型链 引用类型:__proto__(隐式原型)属性,属性值是对象函数:prototype(原型)属性,属性值是对象 相关方法 person.prototype.isPrototypeOf(stu) Object.getPrototypeOf(Object)替换已不推荐的Object._ _ proto _ _ Ob…...
【BASH】回顾与知识点梳理(二十九)
【BASH】回顾与知识点梳理 二十九 二十九. 进程和工作管理29.1 什么是进程 (process)进程与程序 (process & program)子进程与父进程:fork and exec:进程呼叫的流程系统或网络服务:常驻在内存的进程 29.2 Linux 的多人多任务环境多人环境…...
Docker的Cgroup资源限制
Docker通过Cgroup来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配颡和使用量控制。 Cgoup 是CotrolGroups 的缩写,是Linux 内核提供的一种可以限制、记录、隔高进程组所使用的物理资源(如CPU、内存…...
AI智能语音机器人的基本业务流程
先画个图,了解下AI语音机器人的基本业务流程。 上图是一个AI语音机器人的业务流程,简单来说就是首先要配置话术,就是告诉机器人在遇到问题该怎么回答,这个不同公司不同行业的差别比较大,所以一般每个客户都会配置其个性…...
uniapp 上传比较大的视频文件就超时
uni.uploadFile,上传超过10兆左右的文件就报错err:uploadFile:fail timeout,超时 解决: 在manifest.json文件中做超时配置 uni.uploadFile({url: this.action,method: "POST",header: {Authorization: uni.getStorage…...
Jvppeteer终极指南:Java开发者如何快速掌握浏览器自动化
Jvppeteer终极指南:Java开发者如何快速掌握浏览器自动化 【免费下载链接】jvppeteer Java API For Chrome and Firefox 项目地址: https://gitcode.com/gh_mirrors/jv/jvppeteer 你是否曾为Java项目中的网页自动化测试、数据抓取或性能分析而烦恼?…...
外发文件失控?巴别鸟把断线的风筝拉回来
一位制造业的IT负责人最近向我们诉苦:他们给供应商外发了3D设计文件,对方擅自二次转发给了竞争对手。他花了整整两周才弄清楚文件流向了哪里,而此时损失已经造成。 这几乎是企业文件管理的"经典困境"——文件一旦离开内网ÿ…...
如何定制ayu主题UI:分隔符、滚动条和原生标题栏配置全指南
如何定制ayu主题UI:分隔符、滚动条和原生标题栏配置全指南 【免费下载链接】ayu 🎨🖌 Modern, bright color theme for Sublime Text 项目地址: https://gitcode.com/gh_mirrors/ay/ayu ayu是一款现代明亮的Sublime Text颜色主题&…...
AFDM:解锁高动态无线通信全分集潜能的下一代波形设计
1. 为什么我们需要AFDM这样的下一代波形? 想象一下你坐在时速300公里的高铁上打视频电话,画面却卡成PPT;或者开车穿越城市高架时,导航突然丢失信号。这些场景背后,都是传统无线通信波形在高动态环境下的"水土不服…...
第1周:项目初始化与UI框架搭建
前言本周核心任务——项目初始化UI框架搭建背景补充:简要说明项目整体目标(如:搭建个人博客/管理系统等),本周作为项目启动第一周的核心价值预期成果:项目结构规范、UI骨架成型、可正常运行展示基础页面一、…...
实战指南:用Wav2Lip UHQ插件打造专业级AI唇形同步视频
实战指南:用Wav2Lip UHQ插件打造专业级AI唇形同步视频 【免费下载链接】sd-wav2lip-uhq Wav2Lip UHQ extension for Automatic1111 项目地址: https://gitcode.com/gh_mirrors/sd/sd-wav2lip-uhq 想要制作自然流畅的AI配音视频,让虚拟人物的嘴唇动…...
COMSOL模拟注浆过程中浆液在多孔介质和裂隙中的流动与粘度时变特性
COMSOL注浆( [1]comsol模拟随机裂隙注浆,浆液在多孔介质和裂隙中扩散,考虑浆液粘度时变性。 [2]浆液在多孔介质和裂隙中流动。 裂隙为浆液流动的优势通道,明显快与无裂隙的基质通道。 注:本算例考虑浆液粘度的随距离改…...
OpenMV供电踩坑实录:为什么你的H7 Plus一接外部电源就重启?
OpenMV H7 Plus电源故障深度解析:从硬件设计到稳定供电方案 引言:当机器视觉遇上电源扰动 在嵌入式视觉开发中,OpenMV H7 Plus以其出色的图像处理能力和友好的MicroPython环境赢得了众多开发者的青睐。然而,当项目从实验室原型转向…...
Android OTA 升级 之 UpdateEngine 核心流程与典型错误码深度解析
1. UpdateEngine 核心流程解析 Android 的 OTA(Over-The-Air)升级机制中,UpdateEngine 扮演着核心角色。这个后台服务负责处理从下载到安装的全流程,确保设备能够安全、高效地完成系统更新。理解它的工作原理,对于排查…...
掌握AI专著写作技巧,搭配优质工具,轻松搞定专业学术专著
学术专著创作难题与AI工具解决方案 对于很多学者来说,撰写学术专著的最大难题就是“有限的精力”与“无限的需求”之间的矛盾。专著的写作通常需要花费3到5年,甚至更长的时间,而研究人员日常还要面对教学、项目研究、学术交流等多重任务&…...
