如何在Cypress与Saucelab集成环境中运行性能测试并获取指定结果
Cypress + Saucelab 集成环境接入性能测试操作步骤
已完成Cypress与Saucelab基础集成的前提下,按以下步骤操作即可运行性能测试,得到官方规范的测试结果:
操作步骤
- 升级基础工具与配置
- 升级本地
saucectl(Saucelab官方Cypress运行CLI)到最新版本,运行命令:npm install -g saucectl@latest - 打开项目根目录下的
.sauce/config.yml配置文件,新增性能采集开关配置:
sauce: performance: enabled: true captureHar: true
如果需要提前配置性能合格阈值,避免重复校验,可以在上述配置段新增阈值规则:
thresholds: lcp: 2000 # 最大内容绘制不超过2s fid: 100 # 首次输入延迟不超过100ms cls: 0.1 # 累积布局偏移不超过0.1
- 调整测试用例
对于需要采集性能的页面操作,在页面加载完成的节点添加性能打点标识即可,示例代码如下:
it('测试首页加载性能', () => { cy.visit('/') // 页面加载完成后调用性能打点命令,触发性能统计 saucePerformanceMark('home-page-loaded') // 后续正常写页面功能断言逻辑即可 cy.get('header').should('be.visible') })
saucePerformanceMark为Saucelab集成环境自动注入的全局命令,无需额外导入。
运行性能测试
直接使用原有的saucectl run命令运行测试即可,配置的性能采集规则会自动生效;如果需要临时调整阈值,也可以在运行时指定参数:saucectl run --performance-threshold lcp=2500,fid=150查看测试结果
测试运行完成后,进入Saucelab控制台对应测试任务的详情页,切换到性能标签,即可查看所有核心Web性能指标、资源加载瀑布图、优化建议,和官方示例的输出格式完全一致。
注意事项
- 性能测试仅支持在Saucelab云浏览器环境运行,本地调试模式不会采集性能数据
- 测试用例中尽量避免使用硬等待(如
cy.wait(3000)这类固定等待命令),会导致性能指标统计偏差 - 首次运行性能测试建议先选择单条测试用例验证配置,确认指标采集正常后再全量运行
内容的提问来源于stack exchange,提问作者sudar san
相关产品推荐
相关产品推荐

