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

使用start-server-and-test运行Cypress命令行测试时出现退出码32错误

问题分析与解决方案

exit code 32是Windows系统下Cypress的特定退出码,结合你使用start-server-and-test的场景,核心问题集中在测试完成后的进程清理或服务就绪检测环节,以下是具体原因和解决办法:

原因1:Cypress子进程未彻底终止

测试完成后,Cypress启动的Chrome浏览器或自身子进程可能未完全退出,导致start-server-and-test判定命令执行失败。

解决办法:

修改cypress:run命令,强制Cypress清理所有关联进程:

"scripts": {
  "start": "ng serve --proxy-config proxy.conf.json",
  "cypress:run": "cypress run && taskkill /F /IM chrome.exe /IM cypress.exe 2>NUL",
  "start-chrome": "start-server-and-test start http://localhost:4200 cypress:run"
}

原因2:服务就绪检测不充分

start-server-and-test检测到端口4200开放后,Angular服务可能仍在加载资源,隐性的初始化延迟导致后续进程清理环节出错。

解决办法:

  • 延长端口等待超时时间:
"start-chrome": "start-server-and-test start http://localhost:4200 --wait-timeout 30000 cypress:run"
  • 改用wait-on替代内置检测(需先安装npm install wait-on --save-dev):
"scripts": {
  "start": "ng serve --proxy-config proxy.conf.json",
  "cypress:run": "cypress run",
  "start-chrome": "npm run start & wait-on http://localhost:4200 && npm run cypress:run && kill %%"
}

原因3:Windows命令行进程管理bug

Windows的CMD/PowerShell对嵌套进程的回收逻辑存在局限,导致start-server-and-test无法正确识别Cypress的完成状态。

解决办法:

  • 指定用PowerShell执行命令:
"start-chrome": "start-server-and-test start http://localhost:4200 cypress:run --shell powershell"
  • 升级start-server-and-test到最新版本,修复Windows平台的进程管理问题:
npm update start-server-and-test --save-dev

内容的提问来源于stack exchange,提问作者Patrick Bracken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 21:47:15