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

如何用C#调用REST API将Azure Test Plans测试用例添加至测试套件?

解决Azure Test Plans中用C#将测试用例添加到测试套件的问题

错误原因分析

你当前的代码问题在于API端点路径错误,并且请求体不符合接口要求:

  • 错误地将测试用例ID(testCaseId)放在URL路径末尾,而Azure DevOps的该API要求通过请求体传递测试用例ID
  • 请求体传了空内容,接口需要接收包含测试用例ID列表的JSON数据

正确实现代码

以下是修正后的完整代码:

using System.Net.Http;
using System.Text;
using System.Text.Json;

// 构造正确的API端点(不要把testCaseId放在URL里)
string addToSuiteUrl = $"{azureDevOpsOrganizationUrl}{project}/_apis/testplan/plans/{testPlanId}/suites/{testSuiteId}/testcases?api-version=7.1";

// 构造请求体:传入包含testCaseIds的对象,支持批量添加
var requestBody = new
{
    testCaseIds = new[] { testCaseId }
};
string jsonBody = JsonSerializer.Serialize(requestBody);
var suiteContent = new StringContent(jsonBody, Encoding.UTF8, "application/json");

// 发送POST请求
var suiteResponse = await client.PostAsync(new Uri(addToSuiteUrl), suiteContent);

// 验证请求结果
if (suiteResponse.IsSuccessStatusCode)
{
    string responseContent = await suiteResponse.Content.ReadAsStringAsync();
    // 处理返回的测试用例关联信息
}
else
{
    string errorContent = await suiteResponse.Content.ReadAsStringAsync();
    // 处理错误信息
}

关键注意事项

  • 确保你的HttpClient已配置正确身份验证(如Personal Access Token),权限需包含Test Plans (Read & Write)
  • API版本7.1为当前稳定版本,可根据需求调整为最新兼容版本
  • 请求体中的testCaseIds是数组类型,可直接添加多个ID实现批量关联测试用例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:01:15