Azure Pipelines中无法获取Playwright测试原始results.xml文件问题
解决方案:额外添加工件发布任务留存原始results.xml文件
问题核心在于PublishTestResults@2的定位——这个任务仅负责把JUnit测试结果解析导入Azure DevOps的测试管理系统(即你看到的Tests标签),不会自动将原始的results.xml文件发布到Azure工件库。日志里的链接指向流水线运行时的临时工作目录,流水线结束后该目录会被清理,因此出现404错误。
要获取原始的results.xml,需在现有流水线中新增一个PublishBuildArtifacts@1任务,专门发布这个文件:
# 保留原有两个任务: - task: PublishBuildArtifacts@1 condition: failed() or canceled() inputs: PathtoPublish: 'path/to/test-traces' ArtifactName: 'test-traces' publishLocation: 'Container' - task: PublishTestResults@2 condition: succeededOrFailed() inputs: testResultsFormat: 'JUnit' testResultsFiles: '**/results.xml' searchFolder: 'test-results' # 新增任务:发布原始results.xml到Azure工件 - task: PublishBuildArtifacts@1 condition: succeededOrFailed() inputs: PathtoPublish: 'test-results/results.xml' ArtifactName: 'test-results-xml' publishLocation: 'Container'
关键说明:
- 新增任务使用
succeededOrFailed()条件,确保无论测试成功/失败/取消,都会发布原始文件 PathtoPublish需填写你本地生成results.xml的实际路径- 设置清晰的
ArtifactName,方便后续在Azure工件库中快速查找
流水线运行完成后,你就能在Azure工件库中找到名为test-results-xml的工件,里面就是原始的results.xml文件。
内容的提问来源于stack exchange,提问作者pledgeX
相关产品推荐
相关产品推荐

