介绍
这是我在 dev.to 上的第一篇文章,所以我希望它会受到欢迎
当我努力测量 Web UI 性能并且现有插件无法为我提供所需的灵活性时,我想到了创建这个插件的想法。 “cypress-performance”插件引入了一种强大的方法来直接在 Cypress 测试中测量和断言 Web 性能指标。与注重功能的传统端到端测试不同,该插件使团队能够及早发现性能回归,并通过自动化测试保持高性能标准。
Web 性能测试如今变得至关重要。用户期望闪电般快速的体验,而缓慢加载的页面可能会严重影响业务指标。虽然 Cypress 是端到端测试的优秀工具,但它缺乏内置的性能测量功能。
今天,我很高兴向您介绍“cypress-performance”,这是一个新插件,可为您的 Cypress 测试带来性能测量功能。
你可以在这里查看:
https://www.npmjs.com/package/cypress-performance https://github.com/Valiantsin2021/cypress-performance
主要特点
测试执行期间的实时性能指标收集
内置重试机制,实现可靠测量
支持 Core Web Vitals 和其他关键绩效指标
与现有赛普拉斯测试无缝集成
TypeScript 支持的类型定义
可配置的阈值和计时选项
为什么需要另一个性能测试插件?
您可能想知道,“我们不是已经有“@cypress-audit/lighthouse”了吗?”是的,我们这样做,而且它是一个出色的工具。然而,“cypress-performance”采取了不同的方法:
真实用户指标:Lighthouse 模拟特定条件下的性能,而 cypress-performance 则在实际测试执行期间捕获指标,让您深入了解真实用户场景。
测试集成:该插件与您现有的测试无缝集成,允许您在执行常规测试流程时测量性能,而不是作为单独的审核。
精细控制:您可以对何时以及如何衡量性能进行精细控制,并通过内置重试机制获得可靠的结果。
核心网络生命:关注重要的现代性能指标,包括最大内容绘制 (LCP)、首次输入延迟 (FID) 和累积布局偏移 (CLS)。
较低的开销 - 无需单独运行灯塔
更少的配置 - 基本使用所需的最少设置
具体指标重点 - 核心网络生命力和关键时间
测试集成 - 自然适合现有测试流程该命令是可链接的,并返回所有收集到的要断言的指标
重试功能 - 内置可靠性机制,以确保收集指标
资源计时 - 详细的资源级别指标
总字节数 - 所有资源的大小
另一边 - @cypress-audit/lighthouse 为我们提供了
全面审核,包括 SEO、可访问性
与 Lighthouse 一致的评分系统
最佳实践的静态分析
改进建议
各种条件下的性能模拟
超越性能的更广泛指标
那么它是什么以及如何使用它?
这是一个独立的 Cypress 插件,具有 0 个外部依赖项。
首先安装插件:
npm install -D cypress-performance
添加到您的 cypress/support/e2e.js:
导入“柏树性能”
对于 TypeScript 用户,请在 tsconfig.json 中包含类型:
{ "compilerOptions": { "types": ["cypress", "cypress-performance"] } }
现在您已准备好开始衡量性能!
用法
该插件公开了单个 Cypress 方法:
cy.performance()
cy.performance() 命令本身是可重试的,这意味着 Cypress 将重试该命令,直到:
获取有效指标
达到重试超时
命令的默认选项:
MetricsOptions{ startMark?: keyof PerformanceTiming // Default: 'navigationStart' endMark?: keyof PerformanceTiming // Default: 'loadEventEnd' timeout?: number // Timeout in milliseconds (default: 10000) initialDelay?: number // Initial delay in milliseconds (default: 1000) retryTimeout?: number // Retry timeout in milliseconds (default: 5000) }
典型的测试如下所示:
她喜欢在赛普拉斯测试运行器中看到的样子:
最佳实践
设置切合实际的阈值 设置性能阈值时请考虑您的用户和应用程序:LCP:
使用自定义标记对于单页应用程序或复杂的用户流程,使用自定义性能标记来衡量特定的交互。
考虑环境变化请记住,CI 环境的性能可能与本地开发不同。相应地调整阈值或使用相对比较。
与其他指标相结合将 cypress-performance 与 Lighthouse 等其他工具结合使用,以获得完整的性能图
结语
我的“cypress-performance”插件用于快速收集有价值且最重要的 Web 性能指标,并为您的 Cypress 测试套件带来性能测试功能。通过关注真实的用户指标并提供细粒度的控制,有助于确保您的应用程序在实际使用条件下表现良好。
无论您是监控 Core Web Vitals、测量特定用户交互,还是确保资源加载顺利,“cypress-performance”都可以提供您所需的工具,以便在性能回归投入生产之前捕获它们。
良好的性能不仅仅在于速度,还在于一致性和可靠性。借助“cypress-performance”,您可以确保您的应用程序在整个开发生命周期中保持高性能标准。
在您的项目中尝试一下,然后让我知道它对您有何帮助!该插件是开源的,我欢迎所有贡献和反馈。
以上是Cypress 性能插件'cypress-performance”:自动化 Web 性能测试指南的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver Mac版
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。