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

如何通过Azure DevOps REST API匹配手动Test Case步骤与Test Run结果?

解决TFS Test API中测试步骤与结果匹配的问题(含共享步骤场景)

要解决步骤顺序不符和共享步骤的匹配问题,核心是靠步骤层级路径来关联,而非依赖返回结果的顺序,具体操作如下:

1. 获取测试用例的完整步骤结构(展开共享步骤)

你需要先拿到测试用例的原始步骤,包括嵌套的共享步骤,才能生成对应的匹配路径:

  • 调用工作项API获取测试用例详情(需包含关联的共享步骤):
    GET http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/wit/workitems/{testCaseId}?api-version=5.1&$expand=relations
    
  • 从返回的relations数组中,筛选类型为System.LinkTypes.Hierarchy-Reverse的条目,这些就是关联的共享步骤工作项。
  • 针对每个共享步骤,单独调用工作项API获取它的步骤字段Microsoft.VSTS.TCM.Steps(该字段为XML格式),把共享步骤的内容展开到测试用例的步骤列表中,严格保持原始层级顺序。

2. 用actionPath字段做精准匹配

你当前调用的测试结果API返回的actionResults里,每个结果条目都有actionPath属性,这是步骤的唯一层级标识:

  • 普通步骤的路径格式为/1、/2,对应测试用例的第1、第2步
  • 共享步骤里的子步骤路径为/2/1、/2/2,对应测试用例第2步(共享步骤)下的第1、第2子步骤
  • 把你展开后的完整步骤列表,按照同样规则生成层级路径,然后通过actionPath字段与步骤路径一一对应,完全不依赖actionResults的返回顺序。

3. 提取报告所需信息

匹配成功后,直接从对应的actionResult条目中提取内容:

  • 测试结果:从outcome字段获取(对应Passed/Failed等状态)
  • 评论:从comment字段提取
  • 附件:从attachments数组中获取附件名称、大小或下载链接

注意事项

  • 如果共享步骤还有嵌套的共享步骤,需要递归展开,确保所有层级的步骤都生成正确路径
  • 解析Microsoft.VSTS.TCM.Steps字段时,要把XML转成结构化的步骤对象,方便生成路径和提取步骤描述/预期结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:40:03