internal static int RunStep(StringBuilder stepBuilder, List <ThreadSession> sessionList, TaskSetting setting, string stepName, int runtimes) { CaseStep[] caseList = new CaseStep[sessionList.Count]; Task[] taskList = new Task[sessionList.Count]; StepTimer st = new StepTimer(); st.Reset(); st.StartTime(); for (int i = 0; i < taskList.Length; i++) { ++cnt; var session = sessionList[i]; var caseStep = CaseStep.Create(setting.CaseStepTypeFormat, stepName, cnt); if (caseStep != null) { caseStep.Runtimes = runtimes; caseStep.Init(session, setting); caseList[i] = caseStep; //Console.WriteLine("Task.Factory.StartNew:" + cnt); taskList[i] = Task.Factory.StartNew(caseStep.StartRun); } } if (setting.WaitTimeout == TimeSpan.Zero) { Task.WaitAll(taskList); } else { Task.WaitAll(taskList, setting.WaitTimeout); } st.Completed(); st.DoResult(); int errorCount = caseList.Sum(t => t.Timer.FailNum); DoStepResult(setting, stepBuilder, stepName, caseList, 0, st); return(errorCount); }
internal static int RunStep(StringBuilder stepBuilder, List<ThreadSession> sessionList, TaskSetting setting, string stepName, int runtimes) { CaseStep[] caseList = new CaseStep[sessionList.Count]; Task[] taskList = new Task[sessionList.Count]; StepTimer st = new StepTimer(); st.Reset(); st.StartTime(); for (int i = 0; i < taskList.Length; i++) { ++cnt; var session = sessionList[i]; var caseStep = CaseStep.Create(setting.CaseStepTypeFormat, stepName,cnt); if (caseStep != null) { caseStep.Runtimes = runtimes; caseStep.Init(session,setting); caseList[i] = caseStep; //Console.WriteLine("Task.Factory.StartNew:" + cnt); taskList[i] = Task.Factory.StartNew(caseStep.StartRun); } } if (setting.WaitTimeout == TimeSpan.Zero) { Task.WaitAll(taskList); } else { Task.WaitAll(taskList, setting.WaitTimeout); } st.Completed(); st.DoResult(); int errorCount = caseList.Sum(t => t.Timer.FailNum); DoStepResult(setting,stepBuilder, stepName, caseList,0,st); return errorCount; }
private void DoResult() { _stepTimer.DoResult(); }