You can set a timeout for automated tests to make sure the tests do not take longer than they should. There are several ways to specify a test timeout:
Use a Timeout for Test Items
Test items define the test run order when you run the entire project or project suite. You can configure test items and their timeouts on the Test Items page of your project suite or in the Execution Plan editor of the project.
Test items define the test run order when you run the entire project or project suite. You can configure test items and their timeouts on the Test Items page of your project suite or in the Execution Plan editor of the project.
When a test item’s timeout elapses, TestComplete logs an error. To stop the entire project on a timeout error, set the On error property of your test items to Stop project. To stop the current test item without stopping the entire project on a timeout error, set the On error property of your test items to Stop current item.
TestComplete ignores the test item timeout in the following cases:
- 
The test is run not as a test item. For example, from the Project Explorer. 
- 
The test item has a timeout of 0. 
- 
You have a handler for the OnTimeoutevent that sets theParams.Breakproperty toFalse.
Use a Timeout Timer
When you run automated tests individually (for example, from the Project Explorer as opposed to running the entire test project), you can use a timer to stop the test on timeout. A timer runs some code at regular time intervals. You can set the timer interval equal to the test timeout and call the Runner.Stop method from the timer’s code to stop the test.
JavaScript, JScript
// Unit1
function Main()
{
  // Create a 30-second timeout timer
  Utils.Timers.Add(30000, "Unit1.TimeoutTimer", true);
  // This loop will be stopped after about the 30th iteration
  for (var i = 1; i <= 100; i++)
  {
    Log.Message(i);
    Delay(1000);
  }
}
 
function TimeoutTimer()
{
  Log.Message("The test timeout has been reached... Stopping the test.");
  Runner.Stop();
} 
Python
# Unit1
def Main():
  # Create a 30-second timeout timer
  Utils.Timers.Add(30000, "Unit1.TimeoutTimer", True)
  # This loop will be stopped after about the 30th iteration
  for i in (1, 100):
    Log.Message(i)
    Delay(1000)
def TimeoutTimer():
  Log.Message("The test timeout has been reached... Stopping the test.")
  Runner.Stop()VBScript
Sub Main
  ' Create a 30-second timeout timer
  Utils.Timers.Add 30000, "Unit1.TimeoutTimer", true
  ' This loop will be stopped after about the 30th iteration
  Dim i
  For i = 1 To 100
    Log.Message i
    Delay 1000
  Next
End Sub
 
Sub TimeoutTimer
  Log.Message "The test timeout has been reached... Stopping the test."
  Runner.Stop
End Sub
DelphiScript
procedure Main;
var i;
begin
  // Create a 30-second timeout timer
  Utils.Timers.Add(30000, 'Unit1.TimeoutTimer', true);
  // This loop will be stopped after about the 30th iteration
  for i := 1 to 100 do
  begin
    Log.Message(i);
    Delay(1000);
  end;
end;
 
procedure TimeoutTimer;
begin
  Log.Message('The test timeout has been reached... Stopping the test.');
  Runner.Stop;
end;
C++Script, C#Script
// Unit1
function Main()
{
  // Create a 30-second timeout timer
  Utils["Timers"]["Add"](30000, "Unit1.TimeoutTimer", true);
  // This loop will be stopped after about the 30th iteration
  for (var i = 1; i <= 100; i++)
  {
    Log["Message"](i);
    Delay(1000);
  }
}
 
function TimeoutTimer()
{
  Log["Message"]("The test timeout has been reached... Stopping the test.");
  Runner["Stop"]();
} 
Specify a Timeout in the Command Line
If you run automated tests from the command line, you can use the /Timeout argument to specify a timeout (in seconds) for your test. This timeout should account for both the test run time and the TestComplete startup time.
Possible timeout values are 30 .. 4 294 967 seconds (49.7 days).
TestComplete 32-bit executable is located in the <TestComplete>\Bin folder.
TestComplete 64-bit executable is located in the <TestComplete>\x64\Bin folder.
TestComplete 32-bit executable is located in the <TestComplete>\Bin folder.
TestComplete 64-bit executable is located in the <TestComplete>\x64\Bin folder.
See Also
OnTimeout Event
Execution Plan Editor
Test Items Page (Project Suite Editor)
Timeout Property

 Use a Timeout for Test Items
Use a Timeout for Test Items