/*
          ////The filter can only filter the system fields
          //TDFilter TFilter = TestFact.Filter as TDFilter;
          ////All match item will be filtered by the provided field and value
          //foreach (TestConfigFile.AutorunFilerConfig filter in TConfig.CaseFilter.AutorunFilter)
          //{
          //  TFilter[filter.FieldName] = filter.FieldValue;
          //}
          //TFilter[TConfig.CaseFilter.TestSetName] = TSName;
          ////All matched test cases will be storaged in TList temporarily
          //List TList = TFilter.NewList();

          ////Add test set name
        */
        private void RunCurrentSet(TestSet RunSet, string destMachine, bool isQTPRun, string configpath)
        {
            Console.Out.WriteLine("Enter the RunCurrentSet");
              if (isQTPRun)
              {
            #region Using QTP
            Console.Out.WriteLine("==========[void RunCurrentSet]Now something exception happen for QTP scheduler");
            //Console.Out.WriteLine("AutoIntSys: Begin to load QTP");
            //TSTestFactory TSTestFact = RunSet.TSTestFactory as TSTestFactory;
            //List runList = new List();
            //runList = TSTestFact.NewList("") as List;
            //if (runList.Count < 1)
            //  return;
            //TSScheduler Scheduler = RunSet.StartExecution("localhost") as TSScheduler;
            //if (destMachine == "localhost")
            //  Scheduler.RunAllLocally = true;
            //else
            //  Scheduler.TdHostName = destMachine;

            //try
            //{
            //  Debug.Print("AutoIntSys: Run Start at: " + TestUtility.GetCurrentTime());
            //  Scheduler.Run(runList);
            //}
            //catch (Exception e)
            //{
            //  Debug.Print("AutoIntSys: RUNNING Test Case Error!");
            //  Debug.Print("AutoIntSys: " + e.Message);
            //}

            //ExecutionStatus execStatus = Scheduler.ExecutionStatus as ExecutionStatus;

            //bool isRunFinished = false;
            //while (!isRunFinished)
            //{
            //  execStatus.RefreshExecStatusInfo(runList, true);
            //  isRunFinished = execStatus.Finished;
            //  System.Threading.Thread.Sleep(5000);
            //}
            //Debug.Print("AutoIntSys: Run Finish at: " + TestUtility.GetCurrentTime());
            //Console.WriteLine("Run Finish at: {0}", TestUtility.GetCurrentTime());
            #endregion
              }
              else
              {
            CustomerProcess.CustomerProcess cp = new CustomerProcess.CustomerProcess();
            if (cp.LoadRunInstance(".") > 0)
            {
              AutoLog.Info("AutoIntSys: [void RunCurrentSet]Current Test set start run!");
              //Debug.Print("AutoIntSys: Run CP Start at: " + TestUtility.GetCurrentTime());
              //Console.Out.WriteLine("==========[void RunCurrentSet]Current Test set start: " + TestUtility.GetCurrentTime());
              AutoTestInterface.IRunTest runScheduler = cp.GetRunName(configFile.RunParameter.CustomerTestPro);
              runScheduler.Run(tdConn, RunSet, configpath);
              System.Threading.Thread.Sleep(5000);
              runScheduler.RunFinished();

              AutoLog.Info("AutoIntSys: [void RunCurrentSet]Current Test set end run!");
              //Debug.Print("AutoIntSys: Run CP Finish at: " + TestUtility.GetCurrentTime());
              //Console.Out.WriteLine("==========[void RunCurrentSet]Current Test set end: " + TestUtility.GetCurrentTime());
            }

            #region Unused
            /****

            // RunSet.ID
            // invoke the test execution
            TSTestFactory TSTestFact = RunSet.TSTestFactory as TSTestFactory;
            List runList = new List();
            runList = TSTestFact.NewList("") as List;
            foreach (TSTest instance in runList)
            {
              //generate the run first
              RunFactory runFact = instance.RunFactory as RunFactory;
              DateTime now = TestUtility.GetCurrentTime();
              Run instanceRun = runFact.AddItem("Run_" + now.ToShortDateString() +
                                          "_" + now.ToShortTimeString()) as Run;

              QCOperation.QCInformation info = new QCOperation.QCInformation();
              // string runID = instanceRun.ID as string;
              //Initial the start status
              info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Not Completed");
              //Add the run steps
              //info.SetTestRunStep(tdConn, runID, "Step 1", "Passed");
              //info.SetTestRunStep(tdConn, runID, "Step 2", "Failed");
              //Update the end status
              //info.SetTestRunStatus(tdConn, runID, "Failed");

              //Download test case attachments
              string caseID = instance.TestId as string;
              ArrayList attachments = new ArrayList();
              QCOperation.QCAttachment taa = new QCOperation.QCAttachment();
              foreach (string downfile in configFile.RunParameter.DownloadFile)
              {
            attachments.Add(taa.DownloadAttachment(tdConn, "TEST", caseID, downfile, "C:\\temp"));
              }

              //When finish the test, record the summary in instance of testset
              string instanceID = instance.ID as string;
              string scriptFilename = null;
              string dataFilename = null;
              for(int i = 0; i < attachments.Count; i++)
              {
            ArrayList downList = attachments[i] as ArrayList;
            if (downList.Count > 0)
            {
              foreach (Object fileObj in downList)
              {
                string tempFilePath = fileObj as string;
                if (tempFilePath != null && tempFilePath.EndsWith("cod"))
                {
                  scriptFilename = tempFilePath;
                }
                if (tempFilePath != null && tempFilePath.EndsWith("iod"))
                {
                  dataFilename = tempFilePath;
                }
              }
            }
              }
              if (scriptFilename != null)
                {
                  PAS.AutoTest.ScriptRunner.ScriptRunner sr = new PAS.AutoTest.ScriptRunner.ScriptRunner();
            PAS.AutoTest.ScriptRunner.ExecuteResult er;
            if (dataFilename!=null)
            {  er = sr.Run(scriptFilename, dataFilename, 600); }
            else
            {  er = sr.Run(scriptFilename, string.Empty, 600); }
                  switch (er.Output.Result)
                  {
                    case PAS.AutoTest.TestData.TestResult.Pass:
                      info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Passed");
                      break;
                    case PAS.AutoTest.TestData.TestResult.Fail:
                      info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Failed");
                      break;
                    default:
                      info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Not Completed");
                      break;
                  }

                  info.SetTestInstanceSummary(tdConn, instanceID, configFile.RunParameter.NumOfPassed, er.Output.Summary.Passed.ToString());
                  info.SetTestInstanceSummary(tdConn, instanceID, configFile.RunParameter.NumOfTotal, er.Output.Summary.TotalRun.ToString());
                }
            }
             ****/
            #endregion

              }
        }
Ejemplo n.º 2
0
        /*
         * ////The filter can only filter the system fields
         * //TDFilter TFilter = TestFact.Filter as TDFilter;
         * ////All match item will be filtered by the provided field and value
         * //foreach (TestConfigFile.AutorunFilerConfig filter in TConfig.CaseFilter.AutorunFilter)
         * //{
         * //  TFilter[filter.FieldName] = filter.FieldValue;
         * //}
         * //TFilter[TConfig.CaseFilter.TestSetName] = TSName;
         * ////All matched test cases will be storaged in TList temporarily
         * //List TList = TFilter.NewList();
         *
         * ////Add test set name
         */

        private void RunCurrentSet(TestSet RunSet, string destMachine, bool isQTPRun, string configpath)
        {
            Console.Out.WriteLine("Enter the RunCurrentSet");
            if (isQTPRun)
            {
                #region Using QTP
                Console.Out.WriteLine("==========[void RunCurrentSet]Now something exception happen for QTP scheduler");
                //Console.Out.WriteLine("AutoIntSys: Begin to load QTP");
                //TSTestFactory TSTestFact = RunSet.TSTestFactory as TSTestFactory;
                //List runList = new List();
                //runList = TSTestFact.NewList("") as List;
                //if (runList.Count < 1)
                //  return;
                //TSScheduler Scheduler = RunSet.StartExecution("localhost") as TSScheduler;
                //if (destMachine == "localhost")
                //  Scheduler.RunAllLocally = true;
                //else
                //  Scheduler.TdHostName = destMachine;

                //try
                //{
                //  Debug.Print("AutoIntSys: Run Start at: " + TestUtility.GetCurrentTime());
                //  Scheduler.Run(runList);
                //}
                //catch (Exception e)
                //{
                //  Debug.Print("AutoIntSys: RUNNING Test Case Error!");
                //  Debug.Print("AutoIntSys: " + e.Message);
                //}

                //ExecutionStatus execStatus = Scheduler.ExecutionStatus as ExecutionStatus;

                //bool isRunFinished = false;
                //while (!isRunFinished)
                //{
                //  execStatus.RefreshExecStatusInfo(runList, true);
                //  isRunFinished = execStatus.Finished;
                //  System.Threading.Thread.Sleep(5000);
                //}
                //Debug.Print("AutoIntSys: Run Finish at: " + TestUtility.GetCurrentTime());
                //Console.WriteLine("Run Finish at: {0}", TestUtility.GetCurrentTime());
                #endregion
            }
            else
            {
                CustomerProcess.CustomerProcess cp = new CustomerProcess.CustomerProcess();
                if (cp.LoadRunInstance(".") > 0)
                {
                    AutoLog.Info("AutoIntSys: [void RunCurrentSet]Current Test set start run!");
                    //Debug.Print("AutoIntSys: Run CP Start at: " + TestUtility.GetCurrentTime());
                    //Console.Out.WriteLine("==========[void RunCurrentSet]Current Test set start: " + TestUtility.GetCurrentTime());
                    AutoTestInterface.IRunTest runScheduler = cp.GetRunName(configFile.RunParameter.CustomerTestPro);
                    runScheduler.Run(tdConn, RunSet, configpath);
                    System.Threading.Thread.Sleep(5000);
                    runScheduler.RunFinished();

                    AutoLog.Info("AutoIntSys: [void RunCurrentSet]Current Test set end run!");
                    //Debug.Print("AutoIntSys: Run CP Finish at: " + TestUtility.GetCurrentTime());
                    //Console.Out.WriteLine("==========[void RunCurrentSet]Current Test set end: " + TestUtility.GetCurrentTime());
                }

                #region Unused

                /****
                *
                *  // RunSet.ID
                *  // invoke the test execution
                *  TSTestFactory TSTestFact = RunSet.TSTestFactory as TSTestFactory;
                *  List runList = new List();
                *  runList = TSTestFact.NewList("") as List;
                *  foreach (TSTest instance in runList)
                *  {
                *  //generate the run first
                *  RunFactory runFact = instance.RunFactory as RunFactory;
                *  DateTime now = TestUtility.GetCurrentTime();
                *  Run instanceRun = runFact.AddItem("Run_" + now.ToShortDateString() +
                *                                 "_" + now.ToShortTimeString()) as Run;
                *
                *  QCOperation.QCInformation info = new QCOperation.QCInformation();
                *  // string runID = instanceRun.ID as string;
                *  //Initial the start status
                *  info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Not Completed");
                *  //Add the run steps
                *  //info.SetTestRunStep(tdConn, runID, "Step 1", "Passed");
                *  //info.SetTestRunStep(tdConn, runID, "Step 2", "Failed");
                *  //Update the end status
                *  //info.SetTestRunStatus(tdConn, runID, "Failed");
                *
                *  //Download test case attachments
                *  string caseID = instance.TestId as string;
                *  ArrayList attachments = new ArrayList();
                *  QCOperation.QCAttachment taa = new QCOperation.QCAttachment();
                *  foreach (string downfile in configFile.RunParameter.DownloadFile)
                *  {
                *   attachments.Add(taa.DownloadAttachment(tdConn, "TEST", caseID, downfile, "C:\\temp"));
                *  }
                *
                *  //When finish the test, record the summary in instance of testset
                *  string instanceID = instance.ID as string;
                *  string scriptFilename = null;
                *  string dataFilename = null;
                *  for(int i = 0; i < attachments.Count; i++)
                *  {
                *   ArrayList downList = attachments[i] as ArrayList;
                *   if (downList.Count > 0)
                *   {
                *     foreach (Object fileObj in downList)
                *     {
                *       string tempFilePath = fileObj as string;
                *       if (tempFilePath != null && tempFilePath.EndsWith("cod"))
                *       {
                *         scriptFilename = tempFilePath;
                *       }
                *       if (tempFilePath != null && tempFilePath.EndsWith("iod"))
                *       {
                *         dataFilename = tempFilePath;
                *       }
                *     }
                *   }
                *  }
                *  if (scriptFilename != null)
                *       {
                *         PAS.AutoTest.ScriptRunner.ScriptRunner sr = new PAS.AutoTest.ScriptRunner.ScriptRunner();
                *   PAS.AutoTest.ScriptRunner.ExecuteResult er;
                *   if (dataFilename!=null)
                *   {  er = sr.Run(scriptFilename, dataFilename, 600); }
                *   else
                *   {  er = sr.Run(scriptFilename, string.Empty, 600); }
                *         switch (er.Output.Result)
                *         {
                *           case PAS.AutoTest.TestData.TestResult.Pass:
                *             info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Passed");
                *             break;
                *           case PAS.AutoTest.TestData.TestResult.Fail:
                *             info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Failed");
                *             break;
                *           default:
                *             info.SetTestRunStatus(tdConn, instanceRun.ID.ToString(), "Not Completed");
                *             break;
                *         }
                *
                *         info.SetTestInstanceSummary(tdConn, instanceID, configFile.RunParameter.NumOfPassed, er.Output.Summary.Passed.ToString());
                *         info.SetTestInstanceSummary(tdConn, instanceID, configFile.RunParameter.NumOfTotal, er.Output.Summary.TotalRun.ToString());
                *       }
                *  }
                ****/
                #endregion
            }
        }