Beispiel #1
0
        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);
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 private void DoResult()
 {
     _stepTimer.DoResult();
 }