如何通过API访问Azure DevOps流水线生成的测试结果文件?
完全可以实现,你可以通过两种方案实现测试文件的API获取:
方案1:直接获取测试运行关联的XML源文件
你通过PublishTestResults@3任务发布的测试结果会关联到Azure DevOps的测试运行记录,按以下步骤操作即可:
- 调用Run Pipeline接口触发流水线时,保存返回结果中的
runId(即本次流水线运行的唯一标识) - 用
runId作为筛选条件,调用测试运行查询接口,结合你配置的测试运行标题myngapp ui可以精准匹配到对应的测试运行IDtestRunId - 用
testRunId调用测试运行附件查询接口,返回的附件列表中就包含你上传的TESTS*.xml文件,每个附件都带有直接下载地址,请求即可获取原始文件内容 - 如果你不需要原始XML,也可以直接调用测试结果列表接口,直接拿到结构化的用例执行数据,包含每个用例的执行状态、耗时、报错信息等,无需自行解析XML
方案2:发布为流水线构件直接下载
这个方案操作更简单,无需对接测试类接口,只需要在你的流水线YAML中额外新增一个发布构件的任务,把测试报告目录整体作为构件发布即可,示例配置如下:
- task: PublishPipelineArtifact@1 displayName: 'Publish test report artifacts' inputs: targetPath: $(System.DefaultWorkingDirectory)/unit-test-reports artifactName: unit-test-reports
配置后你只需要用流水线runId调用流水线构件查询接口,找到名为unit-test-reports的构件即可直接下载整个目录的所有测试文件。
内容的提问来源于stack exchange,提问作者Apps
相关产品推荐
相关产品推荐

