在私有GitLab流水线中用k6监控Cypress测试的方案及问题解决
私有环境下Cypress与k6集成的问题及最优实施咨询
需求背景
在本地Windows环境及自有GitLab流水线中运行Cypress测试,并通过k6实现性能监控。此前基于Grafana Cloud教程完成过测试,现在需要适配无外网的私有环境,实现流水线自动执行测试、记录性能数据并存储测试产物。
当前问题
- Chrome 137及以上版本禁止通过
--load-extension加载扩展,目前只能使用Chrome for Testing 116,但需要支持新版本Chrome及其他浏览器 - 本地使用Chrome for Testing 116搭配Grafana k6 Browser Recorder 1.0.8录制Cypress测试后,无法下载UUID命名的录制文件,插件提示无录制数据
- 尝试使用Firefox时,Cypress启动后仅显示空白标签页,未加载测试站点,且之前安装的插件未保留
现有cypress.config.js配置
const { defineConfig } = require("cypress"); module.exports = defineConfig({ e2e: { baseUrl: "https://hidden.com", defaultCommandTimeout: 15000, setupNodeEvents(on, config) { on('before:browser:launch', (browser = {}, launchOptions) => { console.log(launchOptions.args) // print all current args const k6path = "C:\k6\k6.exe" if (browser.isHeaded) { try { launchOptions.extensions.push(k6path); } catch (error) { console.log("extension not available"); //when in headless mode } return launchOptions } }) }, });
(注:原代码末尾缺少闭合括号,已补充)
咨询问题
Cypress控制k6或k6控制Cypress的最优实施方式是什么?
内容的提问来源于stack exchange,提问作者DLL
相关产品推荐
相关产品推荐

