You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quasar CLI集成Cypress E2E在GitHub Actions运行报错排查

调试步骤
  • 优先确认服务启动时序:绝大多数Vite动态导入拉取失败的CI报错,本质是Cypress启动执行用例时,Vite dev server还没完成对应模块的编译。本地机器性能好、有预构建缓存,编译速度快不会触发问题,CI环境资源配额低,编译耗时更长,服务未就绪就被访问会直接返回错误,触发动态导入失败。
  • 校验文件实际存在性:在CI的依赖安装步骤之后、测试执行步骤之前加一行命令ls -la src/boot/,确认axios.js确实被checkout到工作目录,排除代码拉取不全、文件名被篡改的问题。
  • 打印实际请求响应:在触发Cypress执行前,用curl -v http://localhost:9000/src/boot/axios.js拉取报错的模块地址,直接查看返回的状态码、响应内容,定位是404、500编译错误、还是返回了错误的HTML内容。
  • 排查路径大小写问题:全局检索所有导入axios boot文件的语句,确认路径大小写和实际文件名完全匹配。MacOS本地默认文件系统大小写不敏感,路径拼写大小写偏差不会触发报错,但会在严格大小写的环境下返回404。
  • 检查依赖安装完整性:确认Cypress二进制、Quasar相关依赖没有在npm ci时被跳过安装,可以通过加环境变量CYPRESS_INSTALL_BINARY=1强制Cypress下载对应运行时二进制,避免测试运行时环境缺失。
解决方案
  • 修正CI流水线的服务等待逻辑,禁止Cypress和dev server抢跑,推荐直接用Cypress官方的GitHub Action处理服务启动、等待、测试执行全流程,替换原有的单步执行脚本,参考配置如下:
jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4 # 不要用master分支,固定大版本避免上游变更导致流水线异常

      - name: Setup node env
        uses: actions/setup-node@v3
        with:
          node-version: 16
          cache: 'npm' # 开启npm缓存加速依赖安装

      - name: Install dependencies
        run: npm ci --prefer-offline --no-audit
        env:
          CYPRESS_INSTALL_BINARY: 1 # 强制安装Cypress运行时二进制

      - name: Run e2e tests
        uses: cypress-io/github-action@v6
        with:
          start: npx quasar dev # 替换为你的项目本地启动dev服务的命令,确保服务监听9000端口
          wait-on: 'http://localhost:9000/src/boot/axios.js' # 等待报错的具体模块可访问,而非只等端口通
          wait-on-timeout: 120 # 给CI环境留足编译时间,默认60秒在低资源CI环境下经常不够
          command: npx cypress run # 替换为项目中纯执行Cypress用例、不包含启动服务的命令
  • 如果你不想用官方Action,也可以自己实现等待逻辑:启动dev服务后用wait-on包轮询指定模块地址,确认返回200状态码后再执行Cypress命令,不要直接并行启动服务和测试。
  • 若排查发现Vite预构建缓存异常,在测试执行前加命令rm -rf node_modules/.vite清掉缓存再启动服务即可。
  • 若curl拉取模块时返回500错误,直接看CI日志里Vite打印的编译报错,对应修复代码里的语法问题、依赖缺失问题即可——这类问题本地因为有缓存可能不会触发全量编译,所以本地运行正常。

内容的提问来源于stack exchange,提问作者Marc Pont

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:31:11