TFS 15.105.27412.0版本测试用例导出格式可读性问题求助
解决TFS 15.105导出测试用例时Action与Expected Result格式丢失问题
问题分析
你的测试用例步骤在TFS中是手动用冒号分隔的纯文本,而非使用系统内置的结构化步骤编辑器(分Action/Expected Result两栏的界面)。这种情况下,TFS会将步骤识别为普通富文本,导出时直接转成原始HTML标签,导致无法区分操作和预期结果。
解决方案
1. 规范TFS内测试用例步骤的录入格式
回到TFS测试用例编辑界面,使用系统自带的步骤编辑器添加/编辑步骤:
- 找到测试用例的「步骤」区域,点击「添加步骤」
- 在弹出的行中分别填写「操作」和「预期结果」列
- 保存后再尝试导出,系统会保留结构化格式,Excel中会自动分成对应列
2. 用TFS REST API/PowerShell脚本导出结构化数据
如果系统导出功能存在版本缺陷,可以通过脚本直接获取结构化的步骤数据:
# 替换为你的TFS服务器地址、项目集合和测试用例ID $tfsServer = "http://your-tfs-server:8080/tfs" $collection = "YourCollection" $project = "YourProject" $testCaseId = 1234 $apiUrl = "$tfsServer/$collection/$project/_apis/test/testcases/$testCaseId?api-version=4.1" $testCase = Invoke-RestMethod -Uri $apiUrl -UseDefaultCredentials # 解析结构化步骤 $stepsJson = $testCase.fields."Microsoft.VSTS.TCM.Steps" | ConvertFrom-Json $structuredSteps = foreach ($step in $stepsJson) { [PSCustomObject]@{ Action = $step.action -replace "<.*?>", "" # 移除HTML标签 ExpectedResult = $step.expectedResult -replace "<.*?>", "" } } # 导出到CSV $structuredSteps | Export-Csv -Path "TestCases_Structured.csv" -NoTypeInformation -Encoding UTF8
这个脚本会直接提取每个步骤的Action和Expected Result,导出为干净的CSV文件,可直接用Excel打开。
3. 清理已导出的HTML格式数据
如果已经导出了带HTML的Excel文件,可以用以下方法修复:
- 提取纯文本:在Excel中新建列,使用数组公式移除HTML标签(按
Ctrl+Shift+Enter执行):=TEXTJOIN("",TRUE,IFERROR(MID(A1,SEARCH("<p>",A1,ROW(INDIRECT("1:"&LEN(A1))))+3,SEARCH("</p>",A1,ROW(INDIRECT("1:"&LEN(A1))))-SEARCH("<p>",A1,ROW(INDIRECT("1:"&LEN(A1))))-3),"")) - 拆分Action和Expected Result:在纯文本列基础上,用公式拆分冒号分隔的内容:
- Action列:
=IFERROR(LEFT(B1,FIND(":",B1)-1),"") - Expected Result列:
=IFERROR(RIGHT(B1,LEN(B1)-FIND(":",B1)),"")
- Action列:
4. 考虑版本升级或使用迁移工具
如果上述方法无法解决,可能是TFS 15.105版本的导出功能存在bug:
- 尝试升级TFS到较新的版本(如2018 Update 3+)
- 使用官方的Azure DevOps Migration Tool,该工具针对测试用例迁移做了优化,能更好地保留结构化数据
内容的提问来源于stack exchange,提问作者Matthew Meppelink
相关产品推荐
相关产品推荐

