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(); } }
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); } }