Exemple #1
0
        public System.Data.DataTable InsertLoadtestrunNtestCse(LoadTestRun loadtestrun, List <LoadtestTestCase> lstTestCSe, string query)
        {
            openConnection();
            SqlTransaction transaction = _conn.BeginTransaction();

            try
            {
                int loadtestrunID = ExecuteScalar_1(query, transaction);

                //  RTMonitor.Write("loadtestrun od" + loadtestrunID);
                if (loadtestrunID <= 0)
                {
                    loadtestrunID = insertLoadtestRun_1(loadtestrun, transaction);
                    lstTestCSe.ToList().ForEach(l => l.LoadTestRunId = loadtestrunID);
                    InsertTestCse(lstTestCSe, transaction);
                }
                vsoTransactionContext._loadtestRunID = loadtestrunID;
                return(getDatatable("select *  from Twinfield.tbl_WkLoadtestcase  where LoadTestRunId =" + loadtestrunID, transaction));
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                transaction.Commit();
                closeConnection();
            }
        }
Exemple #2
0
 public int insertLoadtestRun(LoadTestRun loadtestrun)
 {
     try
     {
         openConnection();
         using (_cmd = new SqlCommand("Twinfield_Transaction.Prc_TwinfieldInsertWKLoadTestRun", _conn))
         {
             _cmd.CommandType = System.Data.CommandType.StoredProcedure;
             SqlParameter outpara = new SqlParameter("@LoadTestRunId", System.Data.SqlDbType.Int, 100)
             {
                 Direction = System.Data.ParameterDirection.Output
             };
             _cmd.Parameters.Add(outpara);                    // AddWithValue("@LoadTestRunId", loadtestrun.loadtestrunID);
             _cmd.Parameters.AddWithValue("@LoadTestName", loadtestrun.LoadTestName);
             _cmd.Parameters.AddWithValue("@Description", loadtestrun.Description);
             _cmd.Parameters.AddWithValue("@StartTime", loadtestrun.StartTime);
             _cmd.Parameters.AddWithValue("@RunDuration", loadtestrun.RunDuration);
             _cmd.Parameters.AddWithValue("@WarmupTime", loadtestrun.WarmupTime);
             _cmd.Parameters.AddWithValue("@RunSettingUsed", loadtestrun.RunSettingUsed);
             _cmd.Parameters.AddWithValue("@IsLocalRun", loadtestrun.IsLocalRun);
             _cmd.Parameters.AddWithValue("@ControllerName", loadtestrun.ControllerName);
             _cmd.Parameters.AddWithValue("@CooldownTime", loadtestrun.CooldownTime);
             _cmd.ExecuteNonQuery();
             return(Convert.ToInt16(outpara.Value));
         }
     }
     catch (Exception ex)
     {
         throw;
     }
     finally
     {
         closeConnection();
     }
 }
        public void Initialize(Microsoft.VisualStudio.TestTools.LoadTesting.LoadTest loadTest)
        {
            try
            {
                m_loadTest = loadTest;
                m_loadTest.TestStarting     += new EventHandler <TestStartingEventArgs>(TestStarting);
                m_loadTest.TestSelected     += new EventHandler <TestSelectedEventArgs>(TestSelected);
                m_loadTest.TestFinished     += new EventHandler <TestFinishedEventArgs>(TestFinished);
                m_loadTest.LoadTestFinished += M_loadTest_LoadTestFinished;


                //Deserialize the Scenario Data List Xml into the C# class
                objScenarioDataList = CommonFunctions.GetScenarioDataListFromXML();

                if (vsoTransactionContext.IsSaveTransactionInAzure)
                {
                    //Fill the dictionary for maintaining the logins
                    foreach (ScenarioDataListScenario scenario in objScenarioDataList.Scenarios)
                    {
                        objGenericScenario = new GenericScenario();
                        objGenericScenario.scenarioName = scenario.Name;
                        objGenericScenario.scenarioUserMaxIterationCount = Convert.ToInt32(scenario.IterationCountPerLogin);
                        objGenericScenario.throughputValue = Convert.ToDecimal(scenario.Throughput);

                        GenericScenarioNameList.Add(scenario.Name, objGenericScenario);
                    }
                    vsoTransactionContext._agentID = m_loadTest.Context.AgentId;
                    if (vsoTransactionContext._isInserted)
                    {
                        DBConnector dbconnect   = new DBConnector();
                        LoadTestRun loadTestRun = new LoadTestRun();
                        loadTestRun.ControllerName = m_loadTest.Context.ControllerName;
                        loadTestRun.CooldownTime   = m_loadTest.RunSettings.WarmupTime;
                        loadTestRun.Description    = m_loadTest.RunSettings.Description;
                        loadTestRun.IsLocalRun     = m_loadTest.Context.AgentCount <= 0 ? true : false;
                        loadTestRun.loadtestrunID  = 0;
                        loadTestRun.RunDuration    = m_loadTest.RunSettings.RunDuration;
                        loadTestRun.RunSettingUsed = "";
                        loadTestRun.StartTime      = DateTime.Now;
                        loadTestRun.WarmupTime     = m_loadTest.RunSettings.WarmupTime;
                        loadTestRun.LoadTestName   = m_loadTest.RunSettings.Name;

                        DBConnector dbconnctor = new DBConnector();
                        //vsoTransactionContext._isLoadtestTestFinished = false;

                        TimeSpan TS    = new TimeSpan(0, 1, 0);
                        string   query = "select top 1 LoadTestRunID from Twinfield.tbl_WKLoadTestRun with(tablockx) WHERE Description='" + m_loadTest.RunSettings.Description + "' AND StartTime BETWEEN  '" + DateTime.Now.Subtract(new TimeSpan(0, 5, 0)) + "' AND '" + DateTime.Now.Add(new TimeSpan(0, 5, 0)) + "' ";

                        for (int i = 0; i < m_loadTest.Scenarios.Count; i++)
                        {
                            LoadtestTestCase testcase = new LoadtestTestCase();
                            testcase.LoadTestRunId = vsoTransactionContext._loadtestRunID;
                            testcase.TestCaseId    = i;
                            testcase.ScenarioId    = i;
                            testcase.TestType      = "Loadtest";
                            testcase.TestCaseName  = m_loadTest.Scenarios[i].TestNames.First().ToString();
                            vsoTransactionContext._loadtestTestCase.Add(m_loadTest.Scenarios[i].TestNames.First().ToString(), testcase);
                        }
                        var testcaselist = (from l in vsoTransactionContext._loadtestTestCase
                                            select l.Value).ToList();

                        dbconnctor.InsertLoadtestrunNtestCse(loadTestRun, testcaselist, query);

                        vsoTransactionContext._isInserted = false;
                        _autoSavedataTimer.Start();
                        //_autoSavedataTimer.Join();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error In UserBasedPlugin in Initialize() during reading ScenarioDataList.xml, Exception : " + ex.Message);
            }
        }