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

如何将Postman测试结果关联至Azure Test Plans测试用例

解决Postman测试结果与Azure Test Plans测试用例关联的问题

核心思路:让ADO能识别测试用例的关联标识

ADO默认不会自动解析测试名称里的用例ID,得通过修改JUnit报告结构或者配置管道任务的映射规则来实现关联。

方法1:修改Postman测试脚本,生成带关联标识的JUnit报告

Postman的Newman工具支持自定义JUnit报告的属性,你可以在测试脚本里注入测试用例ID,让生成的XML报告包含ADO能识别的字段:

  • 单测试用例场景:直接在Newman命令里指定用例ID属性
    newman run 你的集合文件.json --reporter junit --reporter-junit-export results.xml --reporter-junit-property testCaseId=97
    
  • 批量测试场景:用Postman的环境变量动态传递ID,比如在集合的预请求脚本里设置pm.environment.set("testCaseId", "97"),然后在Newman命令里引用:
    newman run 你的集合文件.json --env-var testCaseId=97 --reporter junit --reporter-junit-export results.xml --reporter-junit-property testCaseId={{testCaseId}}
    

方法2:在ADO发布管道里配置测试结果映射规则

  1. 找到管道中的Publish Test Results任务,格式选JUnit
  2. 展开Advanced选项,找到Test case mapping区域
  3. 配置映射规则:
    • 如果测试名称里有固定格式的ID(比如[97] xxx),可以用正则表达式匹配,在Test case filter里填\[(\d+)\],把匹配到的数字作为测试用例ID关联
    • 如果用了方法1的自定义属性,直接指定属性名testCaseId,ADO会自动读取该值关联对应ID的测试用例

方法3:用ADO REST API手动关联

要是前面的方法不好使,加个PowerShell任务调用API强制关联:

  1. 先从Publish Test Results任务的输出变量里拿到测试运行ID
  2. 调用接口更新测试结果的关联信息,示例请求(替换占位符):
    $org = "你的组织名"
    $proj = "你的项目名"
    $runId = "测试运行ID"
    $testCaseId = "97"
    $pat = "你的PAT令牌"
    
    $body = @{
        testCase = @{
            id = $testCaseId
            project = @{
                id = "项目ID"
            }
        }
    } | ConvertTo-Json
    
    Invoke-RestMethod -Uri "https://dev.azure.com/$org/$proj/_apis/test/Runs/$runId/results?api-version=7.1-preview.6" -Method Post -Headers @{Authorization = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$pat")))"} -Body $body -ContentType "application/json"
    
    注意:管道的服务账号得有Test Plans的编辑权限才能操作。

内容的提问来源于stack exchange,提问作者Ondřej Domský

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 09:55:03