private TestData GetTestData(string testDataFileName) { var testDataModel = new TestData(); var excel = new OfficeOpenXml.ExcelPackage(new System.IO.FileInfo(testDataFileName)); var sheetList = excel.Workbook.Worksheets.Where(m => m.Name != "测试数据模板").ToArray(); if (sheetList.Length > 0) { var sheet = sheetList[0];// 测试仅读取第一个匹配的Sheet页 int rowIndex = 1; while (true) { string head = sheet.Cells[rowIndex, 1].Text; if (head.Length > 5 && head.StartsWith("Form:", StringComparison.CurrentCultureIgnoreCase)) { string formName = head.Substring(5).Trim(); testDataModel.AddFormData(formName); var formDataModel = testDataModel.FindFormData(formName); int colIndex = 2; string fieldName = sheet.Cells[rowIndex, colIndex].Text; string fieldValue = sheet.Cells[rowIndex + 1, colIndex].Text; while (!String.IsNullOrEmpty(fieldName)) { formDataModel.AddField(fieldName, fieldValue); colIndex++; fieldName = sheet.Cells[rowIndex, colIndex].Text; fieldValue = sheet.Cells[rowIndex + 1, colIndex].Text; } } else if (head.Length > 7 && head.StartsWith("Assert:", StringComparison.CurrentCultureIgnoreCase)) { string assertName = head.Substring(7).Trim(); string expectedValue = sheet.Cells[rowIndex + 1, 2].Text; testDataModel.AddAssertData(assertName, expectedValue); } else { break; } rowIndex += 3; } } return(testDataModel); }