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

如何通过Azure DevOps流水线自动创建测试计划并上传CSV/Excel测试用例

Azure DevOps 测试计划自动创建与测试用例批量上传流水线搭建指南

适用场景

可通过该流水线实现CSV、Excel格式存储的测试用例自动上传到指定测试计划,无需手动逐条录入。

1 创建流水线

  • 进入目标Azure DevOps项目,依次点击左侧菜单栏「管道」-「新建管道」,选择团队使用的代码存储源,选择「空作业」模板完成初始流水线创建。
  • 给流水线配置测试管理权限:进入项目设置-「管道」-「服务连接」,给对应服务账号授予测试计划的读写权限,或者直接在流水线变量中开启Allow scripts to access the OAuth token选项,后续调用接口可以直接用内置的System.AccessToken鉴权。
    注意:权限配置是后续操作的前提,一定要提前配置完成避免接口调用报错

2 存储测试用例文件

  • 将整理好的CSV/Excel测试用例文件存到流水线关联的代码仓库根目录,或者存到项目的工件库中,确保流水线运行时可正常读取文件。
  • 提前统一文件字段格式,必填字段建议固定为「测试用例标题」「操作步骤」「预期结果」「优先级」,减少后续脚本适配成本。

3 自动创建测试计划

  • 在流水线中添加PowerShell任务,调用Azure DevOps REST API创建测试计划,核心代码示例:
$header = @{Authorization = "Bearer $(System.AccessToken)"}
$body = @{
    name = "迭代XX测试计划"
    areaPath = "你的项目区域路径"
    iteration = "你的迭代路径"
} | ConvertTo-Json
$planResponse = Invoke-RestMethod -Uri "https://dev.azure.com/组织名/项目名/_apis/test/plans?api-version=7.1-preview.1" -Method Post -Headers $header -Body $body -ContentType "application/json"
# 存储测试计划ID到流水线变量
Write-Host "##vso[task.setvariable variable=testPlanId]$($planResponse.id)"
  • 运行后会自动创建测试计划,同时把生成的测试计划ID存为全局变量,供后续上传测试用例调用。

4 批量上传测试用例到对应测试计划

  • 如果你用的是Excel格式文件,先在PowerShell任务中安装导入ImportExcel模块:Install-Module -Name ImportExcel -Force -Scope CurrentUser,CSV文件可以直接用内置的Import-Csv命令读取。
  • 遍历读取测试用例文件的每一行数据,调用测试用例创建接口关联对应测试计划即可,核心逻辑示例:
# 读取Excel文件
$testCases = Import-Excel -Path "./测试用例.xlsx"
# 循环导入
foreach ($case in $testCases) {
    $caseBody = @{
        workItemType = "Test Case"
        fields = @{
            "System.Title" = $case.测试用例标题
            "Microsoft.VSTS.TCM.Steps" = "<steps><step id=""1"" action=""$($case.操作步骤)"" expectedResult=""$($case.预期结果)""/></steps>"
            "Microsoft.VSTS.Common.Priority" = $case.优先级
        }
    } | ConvertTo-Json
    # 创建测试用例并关联测试计划
    Invoke-RestMethod -Uri "https://dev.azure.com/组织名/项目名/_apis/test/plans/$(testPlanId)/suites/$(testPlanId)/testcases?api-version=7.1-preview.3" -Method Post -Headers $header -Body $caseBody -ContentType "application/json-patch+json"
}
  • 可以在脚本最后添加校验逻辑,统计导入成功和失败的测试用例数量,输出到流水线日志中方便排查异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:09:05