示例#1
0
        public static TestStep CreateTestStep(string stepDisplayName)
        {
            var      stepInfo = TestStepInfoMgr.Instance.TestStepInfoList.Where(x => x.DisplayName == stepDisplayName).FirstOrDefault();
            TestStep step     = null;

            if (stepDisplayName == TestStepType.Loop)
            {
                step = new LoopTestStep();
            }
            else if (stepDisplayName == TestStepType.Manual)
            {
                step = new ManualLoopTestStep();
            }
            else if (stepDisplayName == TestStepType.Cal)
            {
                step = new FormulaCalcTestStep();
            }
            else
            {
                Type stepType = stepInfo.Assembly.GetType(stepInfo.StepType.ToString());
                step = Activator.CreateInstance(stepType) as TestStep;
            }

            return(step);
        }
示例#2
0
        public static List <LoopTestStep> GetAllLoopTestStep(LoopTestStep loopTestStep)
        {
            List <LoopTestStep> stepList = new List <LoopTestStep>();

            foreach (var step in loopTestStep.ChildTestStepList)
            {
                if (step is LoopTestStep)
                {
                    stepList.Add(step as LoopTestStep);
                    foreach (var subStep in (step as LoopTestStep).ChildTestStepList)
                    {
                        if (subStep is LoopTestStep)
                        {
                            var subSteps = GetAllLoopTestStep(subStep as LoopTestStep);
                            stepList.AddRange(subSteps);
                        }
                    }
                }
            }
            return(stepList);
        }
示例#3
0
 private void MenuItem_Click(object sender, RoutedEventArgs e)
 {
     if ((sender as MenuItem).Header.ToString() == "导出")
     {
         if (loopgridControl.ItemsSource == null)
         {
             return;
         }
         System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
         saveFileDialog.Filter           = "CSV 文件|*.csv";
         saveFileDialog.RestoreDirectory = true;
         if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
         {
             // (loopgridControl.View as TableView).ExportToCsv(saveFileDialog.FileName);
             DataTable dt = (DataTable)loopgridControl.ItemsSource;
             Interface.ExportDataTableToCSV(saveFileDialog.FileName, dt);
         }
     }
     else if ((sender as MenuItem).Header.ToString() == "导入")
     {
         System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
         openFileDialog.RestoreDirectory = true;
         openFileDialog.Filter           = "CSV 文件|*.csv";
         if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
         {
             if (!string.IsNullOrWhiteSpace(openFileDialog.FileName))
             {
                 LoopTestStep loopStep = vm.LoopTestStep;
                 DataTable    dt       = Interface.GetDataTableFromCSV(openFileDialog.FileName, loopStep.ParamInfolist);
                 if (dt == null)
                 {
                     return;
                 }
                 bool Flag = true;
                 foreach (DataColumn column in dt.Columns)
                 {
                     column.ColumnName = column.ColumnName.Replace(" ", "");
                     if (loopStep.ParamInfolist.Where(x => x.DisplayName == column.ColumnName && x.IsChecked == true).Count() == 0)
                     {
                         Flag = false;
                         break;
                     }
                 }
                 if (Flag == false)
                 {
                     return;
                 }
                 dt.TableName   = loopStep.Table.TableName;
                 loopStep.Table = dt;
                 loopgridControl.ItemsSource = vm.Table;
             }
         }
     }
     else if ((sender as MenuItem).Header.ToString() == "删除行")
     {
         var items = loopgridControl.SelectedItems;
         if (items.Count != 0)
         {
             List <int> selectList = new List <int>(loopgridView.GetSelectedRowHandles());
             for (int row = selectList.Count - 1; row >= 0; row--)
             {
                 loopgridView.DeleteRow(selectList[row]);
             }
         }
         LoopTestStep loopStep = vm.LoopTestStep;
         loopStep.Table = loopgridControl.ItemsSource as DataTable;
     }
     else if ((sender as MenuItem).Header.ToString() == "快速填充")
     {
         if (loopgridControl.CurrentColumn != null)
         {
             LoopTestStep loopStep    = vm.LoopTestStep;
             int          columnIndex = loopgridControl.Columns.IndexOf(loopgridView.FocusedColumn);
             DataColumn   column      = loopStep.Table.Columns[columnIndex];
             FillDataToTable(vm.LoopTestStep.Table, column.ColumnName, columnIndex, column.DataType);
         }
     }
 }