/// <summary> /// 导出测试数据模板 /// </summary> private void ExportTestDataTemplate() { if (scriptModel != null) { var testDataTemplate = new TestDataTemplate(); FormTemplate currentForm = null; foreach (var command in scriptModel.GetCommandList()) { if (!String.IsNullOrEmpty(command.FormMark)) { if (command.IsStartFormMark()) { testDataTemplate.AddFormTemplate(command.GetFormName()); currentForm = testDataTemplate.FindFormTemplate(command.GetFormName()); } else if (command.IsEndFormMark()) { currentForm = null; } } if (currentForm != null && command.IsFormFieldMark()) { currentForm.AddField(command.ValueVarName); } if (command.IsAssertMark()) { testDataTemplate.AddAssertTemplate(command.AssertName, command.GetAssertVarName()); } } SaveTestDataTemplateToExcel(testDataTemplate, saveFileDialog1.FileName); } }
/// <summary> /// 保存测试数据模板到Excel /// </summary> /// <param name="testDataTemplate"></param> /// <param name="saveFileName"></param> private void SaveTestDataTemplateToExcel(TestDataTemplate testDataTemplate, string saveFileName) { if (testDataTemplate != null) { var formList = testDataTemplate.GetFormTemplateList(); var assertList = testDataTemplate.GetAssertTemplateList(); var excel = new OfficeOpenXml.ExcelPackage(new System.IO.FileInfo(saveFileName)); string tmpSheetName = "测试数据模板"; if (excel.Workbook.Worksheets[tmpSheetName] == null) { var sheet = excel.Workbook.Worksheets.Add(tmpSheetName); int rowIndex = 1; if (formList.Count > 0) { for (var i = 0; i < formList.Count; i++) { var formFieldList = formList[i].GetFieldList(); sheet.Row(rowIndex).Style.Font.Bold = true; sheet.Cells[rowIndex, 1].Value = String.Format("Form:{0}", formList[i].FormName); for (var j = 0; j < formFieldList.Count; j++) { sheet.Cells[rowIndex, j + 2].Value = formFieldList[j]; } rowIndex += 3; } } if (assertList.Count > 0) { for (var i = 0; i < assertList.Count; i++) { sheet.Row(rowIndex).Style.Font.Bold = true; sheet.Cells[rowIndex, 1].Value = String.Format("Assert:{0}", assertList[i].AssertName); sheet.Cells[rowIndex, 2].Value = assertList[i].ExpectedVariableName; rowIndex += 3; } } excel.Save(); MessageBox.Show("导出数据模板成功!"); } else { MessageBox.Show("已经存在数据模板,已忽略"); } } }