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

Azure Pipeline无法存储Cypress截图与视频:路径不存在错误排查求助

解决Azure Pipeline中Cypress截图/视频路径不存在问题

1. 先确认Cypress实际生成的文件位置

直接在Pipeline中添加命令,打印工作目录下的完整文件结构,避免盲目猜测路径:

- script: |
    dir $(System.DefaultWorkingDirectory) /s
  displayName: '查看当前工作目录所有文件'

执行后查看日志,找到screenshots或videos文件夹的实际路径。

2. 检查Cypress配置文件的路径设置

打开config.js,确认截图和视频的存储路径配置是相对路径(相对于启动Cypress的目录):

module.exports = {
  screenshotsFolder: './cypress/screenshots',
  videosFolder: './cypress/videos',
  // 其他配置...
}

如果测试代码放在CypressTests子目录下,启动Cypress时必须进入该目录,否则相对路径会基于Pipeline的根目录生成,导致路径不匹配。

3. 确保Cypress在正确的工作目录执行

在Pipeline任务中指定workingDirectory,或者先切换到测试代码所在目录再执行命令:

方式一:使用Cypress任务指定工作目录

- task: Cypress@1
  inputs:
    workingDirectory: 'CypressTests' # 你的测试代码根目录
    command: 'run'
    browser: 'chrome'

方式二:通过脚本切换目录

- script: |
    cd CypressTests
    npx cypress run
  displayName: '运行Cypress测试'

4. 修正Pipeline中引用截图/视频的路径

如果需要发布截图或视频作为构建产物,路径要和实际生成的位置完全匹配。例如实际路径是$(System.DefaultWorkingDirectory)/CypressTests/cypress/screenshots,则发布任务配置如下:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/CypressTests/cypress/screenshots'
    ArtifactName: 'CypressScreenshots'
    publishLocation: 'Container'

5. 验证代码拉取是否完整

检查Pipeline的checkout步骤日志,确认所有代码(包括CypressTests目录)都被正确拉取到了$(System.DefaultWorkingDirectory)下,避免因代码缺失导致路径不存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:52:36