如何使用TestCaseSource从Excel加载指定测试用例
从Excel加载指定单个测试用例的解决方案
场景1:测试用例名称唯一
如果你的TestCaseName在Excel表格中是唯一标识,当前代码可以满足需求,但建议替换为SingleOrDefault——它会在存在多个同名用例时抛出异常,避免误加载:
TestCaseSource.LoadTestCases(excelName, sheetName).SingleOrDefault(x => x.TestCaseName == TestCaseName);
场景2:存在同名用例,需精准定位
若Excel里有重复的TestCaseName,你需要借助额外唯一标识(比如TestCaseId、行号)筛选:
- 先确保
LoadTestCases返回的测试用例对象包含对应标识字段(如RowNumber或TestCaseId) - 多条件匹配示例:
// 按TestCaseId筛选 TestCaseSource.LoadTestCases(excelName, sheetName).SingleOrDefault(x => x.TestCaseId == targetTestCaseId); // 按行号筛选(假设对象包含RowNumber属性) TestCaseSource.LoadTestCases(excelName, sheetName).SingleOrDefault(x => x.RowNumber == targetRowNum);
直接按行索引加载
如果你明确知道目标用例在Excel中的行索引(注意索引起始值,是0还是1),可以直接通过索引获取:
var allTestCases = TestCaseSource.LoadTestCases(excelName, sheetName); var targetTestCase = allTestCases.ElementAt(targetIndex);
提示:
ElementAt会在索引越界时抛出异常,若想避免崩溃,可改用ElementAtOrDefault。
内容的提问来源于stack exchange,提问作者Enclave
相关产品推荐
相关产品推荐

