Quintiq file version 2.0
|
#parent: #root
|
Method PTF_ExecuteAction () id:Method_LibPTF_pnlTestRunner_PTF_ExecuteAction
|
{
|
#keys: '[105690.0.203956224]'
|
Body:
|
[*
|
// Determines the status of an executing action and run through the script
|
curraction := this.PTF_GetCurrentAction();
|
action := '';
|
mintimerinterval := this.PTF_GetMinTimerInterval();
|
|
if( curraction = '' )
|
{
|
this.PTF_EndExecution();
|
|
if( vhAutoClose.Value() = 'true' )
|
{
|
this.PTF_WriteLogForStartEndClient( true );
|
this.Application().Close();
|
}
|
}
|
else
|
{
|
parameters := construct( Strings );
|
action := this.PTF_GetActionAndParameters( curraction, ¶meters );
|
|
if( not action = LibPTF_StandardAction::Wait() )
|
{
|
gtPTF.Interval( mintimerinterval );
|
}
|
|
if( action = LibPTF_StandardAction::Wait() )
|
{
|
this.PTF_SetCurrentAction();
|
|
targetdelayinsecond := 0.0;
|
if( parameters.Size() = 1 )
|
{
|
targetdelayinsecond := [Real]parameters.Element( 0 );
|
}
|
else
|
{
|
targetdelayinsecond := Real::Random( [Real]parameters.Element( 0 ), [Real]parameters.Element( 1 ) );
|
}
|
|
targetdelayinmillis := [Number]( targetdelayinsecond * 1000 ) ;
|
|
// Set next action to be executed from the script
|
this.PTF_SetNextAction();
|
|
this.PTF_DebugInfoAction( action, [String]targetdelayinmillis );
|
if ( targetdelayinmillis <= mintimerinterval )
|
{
|
gtPTF.Interval( mintimerinterval );
|
}
|
else
|
{
|
gtPTF.Interval( targetdelayinmillis );
|
}
|
}
|
else if( not chkLoggedStartMarker.Checked() )
|
{
|
this.PTF_SetCurrentAction();
|
|
this.vhLogStart().Value( this.PTF_GetCurrentDatetime()
|
+ '|' + [String]OS::PrecisionCounter()
|
);
|
chkLoggedStartMarker.Checked( true );
|
}
|
else if( not chkActionDone.Checked() )
|
{
|
this.PTF_DoAction( curraction );
|
chkActionDone.Checked( true );
|
}
|
else
|
{
|
this.PTF_WriteLogForAction( curraction );
|
|
this.PTF_SetNextAction();
|
|
chkLoggedStartMarker.Checked( false );
|
chkActionDone.Checked( false );
|
}
|
}
|
*]
|
}
|