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

如何调试Cypress测试文件调用的JavaScript文件?

调试Cypress Task调用的Node.js代码(FileUtils.js)

问题根源

你遇到的断点不触发问题,核心原因是:Cypress的cy.task代码运行在Node.js环境中,而你打开的Chrome DevTools是调试浏览器端的Cypress测试代码(比如test1.cy.js),两者属于不同的执行环境,所以浏览器的DevTools无法捕获Node端代码的断点。

正确调试方法

方法1:使用Cypress Node调试模式(推荐)

  1. 关闭当前运行的Cypress窗口
  2. 在终端执行带调试参数的启动命令:
    npx cypress open -- --inspect-brk=9229
    
  3. 打开Chrome浏览器,地址栏输入 chrome://inspect
  4. 在页面中点击Configure按钮,添加 localhost:9229 到目标列表,然后关闭配置弹窗
  5. 页面会显示Cypress的Node进程,点击Inspect打开Node专用的DevTools
  6. 在Node DevTools的Sources面板中找到你的Utils/FileUtils.js,设置断点
  7. 回到Cypress窗口,运行目标测试用例,断点会自动触发

方法2:手动添加debugger语句快速调试

  1. 在FileUtils.js的checkFiles函数中需要调试的位置插入debugger;语句:
    async function checkFiles(){
      debugger; // 插入调试语句
      /* 你的业务代码 */
    }
    
  2. 同样用带调试参数的命令启动Cypress:
    npx cypress open -- --inspect-brk=9229
    
  3. 通过chrome://inspect连接Node调试器,运行测试后会自动停在debugger语句处

注意事项

  • cy.debug()是浏览器端的调试命令,仅作用于Cypress测试代码(test1.cy.js),和Node端的cy.task代码无关
  • 如果使用npx cypress run(无头模式),同样可以添加--inspect-brk参数进行调试
  • 确保你的checkFiles函数确实被执行(你已确认执行,此步可忽略)

内容的提问来源于stack exchange,提问作者bla dla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:23:18