Quintiq file version 2.0
#parent: #root
Method PTF_ExecuteClientByScript (
  LibPTF_TestScript script,
  Number nrOfClientsToStart,
  output Number executedSessions_o,
  output Number executingSessions_o,
  output String startTime_o
) id:Method_LibPTF_pnlTestController_PTF_ExecuteClientByScript
{
  #keys: '[104342.0.777049592]'
  Body:
  [*
    // Checks the status of the expected clients and launched clients in a script and launch the next batches of clients when the previous batches of clients complete its execution
    for( x := 0; x < nrOfClientsToStart; x++ )
    {
      if( executedSessions_o = 0 )
      {
        startTime_o := this.PTF_GetCurrentDatetime();
      }
    
      // First line - [ResultLogPath], [LoggingOptions]
      scriptwithparameters := this.PTF_GetResultLogPath() + ","
                              + script.LoggingOptions() + ";" + String::NewLine()
                              + script.GetActionScript();
    
      this.PTF_GenerateTestScript( this.PTF_GetScriptPath(),
                                   scriptwithparameters,
                                   script.User(),
                                   script.Project()
                                      );
    
      this.PTF_StartClient( script.User(),
                            script.Password(),
                            script.ClientType(),
                            script.Project(),
                            script.View(),
                            script.CustomArgument(),
                            script.MinStartClientDelay().TotalInSeconds(),
                            script.MaxStartClientDelay().TotalInSeconds(),
                            script.Dataset(),
                            script.DatasetFolder(),
                            script.DatasetKind()
                               );
    
      executedSessions_o++;
      executingSessions_o++;
    }
  *]
}
