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 ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |