You can close a running application under test in any of the following ways:
- 
By calling the Close,Terminatemethods of the appropriate tested application’s object. These methods close all running instances of a tested application.
- 
By calling the CloseAll,TerminateAllmethods of the tested application collection’s object. These methods close all instances of all running tested applications.
- 
By calling the CloseorTerminatemethod of theProcessobject that corresponds to your tested application. These methods close an appropriate instance of the tested application.
To close a tested application from a keyword test, you can call the methods described above by using the Process Action, Call Object Method, Run Code Snippet, or Run Script Routine operation.
The code below shows how to close a tested application. The Process.Close method in the code closes one application instance, while the TestedApp.Close method closes all the running instances of the tested application.
JavaScript, JScript
function ClosingApplications()
			  { 
var LastPad;
  //Launch three instances of Notepad
  //and obtain the third one as the LastPad process
  LastPad=TestedApps.Notepad.Run(3);
  ...
  //Close a Notepad instance
  LastPad.Close(); //The Process.Close method is called
  aqUtils.Delay(1000);   // Wait until the application is closed
  ...
  //Close the two remaining instances of Notepad
  TestedApps.Notepad.Close(); //The TestedApp.Close method is called
			  }
Python
def ClosingApplications():
  # Launch three instances of Notepad
  # and obtain the third one as the LastPad process
  LastPad=TestedApps.notepad.Run(3)
  # ...
  # Close a Notepad instance
  LastPad.Close() # The Process.Close method is called
  aqUtils.Delay(1000) # Wait until the application is closed
  # ...
  # Close the two remaining instances of Notepad
  TestedApps.Notepad.Close() # The TestedApp.Close method is calledVBScript
Sub ClosingApplications
  'Launch three instances of Notepad
  'and obtain the third one as the LastPad process
  Set LastPad=TestedApps.Notepad.Run(3)
  ...
  'Close a Notepad instance
  LastPad.Close 'The Process.Close method is called
  aqUtils.Delay(1000)   ' Wait until the application is closed 
  ...
  'Close the two remaining instances of Notepad
  TestedApps.Notepad.Close 'The TestedApp.Close method is called
End Sub
DelphiScript
procedure ClosingApplications;
var LastPad: OleVariant;
begin
  //Launch three instances of Notepad
  //and obtain the third one as the LastPad process
  LastPad:=TestedApps.Notepad.Run(3);
  ...
  //Close a Notepad instance
  LastPad.Close; //The Process.Close method is called
  aqUtils.Delay(1000);   // Wait until the application is closed
  ...
  //Close the two remaining instances of Notepad
  TestedApps.Notepad.Close; //The TestedApp.Close method is called
end;
C++Script, C#Script
function ClosingApplications()
					{ 
var LastPad;
  //Launch three instances of Notepad
  //and obtain the third one as the LastPad process
  LastPad=TestedApps["notepad"]["Run"](3);
  ...
  //Close a Notepad instance
  LastPad["Close"](); //The Process.Close method is called
  aqUtils["Delay"](1000); // Wait until the application is closed
  ...
  //Close the two remaining instances of Notepad
  TestedApps["notepad"]["Close"](); //The TestedApp.Close method is called
					}
TestComplete considers an application to be a tested application only if it is added to the Tested Applications collection in the current project, and you launch the application from TestComplete (either from the user interface or from a test). This prevents TestComplete from affecting applications that you launch manually (for example, via the Start | All Programs menu, a shortcut, Windows Explorer or other manager, and so on).
The following sample code shows how this works.
JavaScript, JScript
  //Suppose we have already launched Notepad with Windows Explorer
  //and  Calculator has been launched by selecting the TestComplete Run Selected context menu item
function ManipulatingTestedApps()
{
  TestedApps.Notepad.Run(2);
  TestedApps.MSPaint.Run(2);
  TestedApps.Calculator.Run(2);
  //Now there are 3 instances of Notepad, 3 instances of Calculator, and 2 instances of MSPaint
  ...
  TestedApps.Notepad.Terminate();
  //Now there are 3 instances of Calculator, 2 instances of MSPaint and one instance of Notepad
  ...
  TestedApps.TerminateAll();
  //All tested applications are closed (including Calculator launched from TestComplete).
  //Only the Notepad instance launched by the user is running. 
};
VBScript
  'Suppose we have already launched Notepad with Windows Explorer
  'and  Calculator has been launched by selecting the TestComplete Run Selected context menu item
Sub ManipulatingTestedApps
  TestedApps.Notepad.Run(2)
  TestedApps.MSPaint.Run(2)
  TestedApps.Calculator.Run(2)
  'Now there are 3 instances of Notepad, 3 instances of Calculator, and 2 instances of MSPaint
  ...
  TestedApps.Notepad.Terminate
  'Now there are 3 instances of Calculator, 2 instances of MSPaint and one instance of Notepad
  ...
  TestedApps.TerminateAll
  'All tested applications are closed (including Calculator launched from TestComplete).
  'Only the Notepad instance launched by the user is running. 
End Sub
DelphiScript
  //Suppose we have already launched Notepad with Windows Explorer
  //and  Calculator has been launched by selecting the TestComplete Run Selected context menu item
procedure ManipulatingTestedApps;
begin
  TestedApps.Notepad.Run(2);
  TestedApps.MSPaint.Run(2);
  TestedApps.Calculator.Run(2);
  //Now there are 3 instances of Notepad, 3 instances of Calculator, and 2 instances of MSPaint
  ...
  TestedApps.Notepad.Terminate;
  //Now there are 3 instances of Calculator, 2 instances of MSPaint and one instance of Notepad
  ...
  TestedApps.TerminateAll;
  //All tested applications are closed (including Calculator launched from TestComplete).
  //Only the Notepad instance launched by the user is running. 
end;
C++Script, C#Script
  //Suppose we have already launched Notepad with Windows Explorer
  //and  Calculator has been launched by selecting the TestComplete Run Selected context menu item
function ManipulatingTestedApps()
{  
  TestedApps["Notepad"]["Run"](2);
  TestedApps["MSPaint"]["Run"](2);
  TestedApps["Calculator"]["Run"](2);
  //Now there are 3 instances of Notepad, 3 instances of Calculator, and 2 instances of MSPaint
  ...
  TestedApps["Notepad"]["Terminate"]();
  //Now there are 3 instances of Calculator, 2 instances of MSPaint and one instance of Notepad
  ...
  TestedApps["TerminateAll"]();
  //All tested applications are closed (including Calculator launched from TestComplete).
  //Only the Notepad instance launched by the user is running. 
};
| Note: | If the timeout set for the test run elapses, TestComplete can stop a project suite, project, or test item run. In this case, the test engine terminates all tested applications launched from TestComplete and then generates the OnTimeoutevent. See Stopping Tests on Timeout. | 
