Quintiq file version 2.0 #parent: #root Method PTF_ExecuteTest ( structured[LibPTF_TestScript] testscripts ) id:Method_LibPTF_pnlTestController_PTF_ExecuteTest { #keys: '[105690.0.201964467]' Body: [* // Execute the selected test scripts rowDelimiter := LibPTF_Util::StringListRowDelimiter(); columnDelimiter := LibPTF_Util::StringListColumnDelimiter(); validtestscripts := selectset( testscripts, Elements, script, true, script.IsScriptValid() ); nrtotal := testscripts.Size(); nrvalid := validtestscripts.Size(); nrinvalid := nrtotal - nrvalid; message := "There are " + [String]nrinvalid + " invalid test script(s)." + String::NewLine() + String::NewLine() + "Do you want to execute the other " + [String]nrvalid + " valid test script(s)?"; // If all scripts valid or user continues to execute other valid scripts if( nrvalid = nrtotal or MessageBox::Warning( this, message, '&Yes|&No', 1 ) = 0 ) { //Logs a line in log file as an indication of the beginning of a PTF run LibPTF::LogRunStarted(); resultLogFileName := this.PTF_GetResultLogFileName(); this.vhResultLogFolder().Value( resultLogFileName ) OS::CreateDirectory( LibPTF_pnlTestController.PTF_GetResultLogPath() ); this.gt().Enabled( true ); //execute only valid testscript ts := validtestscripts.Copy(); dhSelectedScripts.Data( &ts ); str := ""; traverse( dhSelectedScripts.Data(), Elements, script ) { str := str + script.User() + columnDelimiter + [String]script.TotalNrOfSessions() + columnDelimiter + [String]script.NrOfSimultaneousSessions() + columnDelimiter + "0" + columnDelimiter + "0" + columnDelimiter + [String]script.TotalNrOfSessions() + columnDelimiter + "N/A" + columnDelimiter + "N/A" + columnDelimiter + "N/A" + columnDelimiter + [String]script.Offset() + rowDelimiter ; } lstExecutionTestScript.Strings( str.SubString( 0, str.Length() - 1 ) ); // Set labels text in panel test controller (start,end,duration) now := DateTime::Now(); nowAsString := LibPTF_pnlTestController.PTF_ConvertDateTimeToString( now ); lblStartTime.Text( nowAsString ); lblEndTime.Text( "N/A" ); lblDurationTime.Text( "N/A" ); LibPTF_pnlTestController.PTF_GenerateBatchFile(); // Assign LastTestStartTime attribute and current client timezone offset and timezone ID labels // Purpose: For update datetime string value when client timezone is changed (ONLY for timezone mode) LibPTF_pnlTestController.PTF_GetPTF().LastTestStartTime( now ); lblClientTimezoneOffset.Text( LibPTF_pnlTestController.PTF_GetClientTimeZoneOffset() ); lblLastClientTimeZone.Text( Application::SessionTimeZone().ID() ); } *] }