WaitForState Method

Applies to TestComplete 15.65, last modified on July 17, 2024
The Network Suite functionality is deprecated. We don’t recommend using it for distributed testing. Consider using a CI/CD system for managing distributed tests. See Migrating Distributed Tests to CI/CD Systems for details. In case you need to run web tests on multiple environments in parallel, you can also try using your project’s Execution Plan.


The WaitForState method delays script execution until the task reaches the specified state, unless the specified time limit is reached first.


TaskObj.WaitForState(State, WaitTime)

TaskObj An expression, variable or parameter that specifies a reference to a Task object
State [in]    Required    Integer    
WaitTime [in]    Optional    Integer Default value: 0   
Result Boolean

Applies To

The method is applied to the following object:


The method has the following parameters:


Specifies the task’s state to be waited for. Read the Network Suite States topic to learn about available task states.


Sets the time limit in milliseconds. 0 means indefinite time limit.

Result Value

True if the expected state is reached, and False otherwise.


Use the Task.State property to check the task’s state.


The following script halts the task’s execution if it does not stop on its own for a specified period.

JavaScript, JScript

function Test()
  var Task = NetworkSuite.Jobs.ItemByName("Job1").Tasks.ItemByName("Task1");
  if (! Task.WaitForState(ns_Idle, 600000))


def Test():
  Task = NetworkSuite.Jobs.ItemByName["Job1"].Tasks.ItemByName["Task1"]
  # ...
  if not Task.WaitForState(ns_Idle, 600000):


Sub Test
  Set Task = NetworkSuite.Jobs.ItemByName("Job1").Tasks.ItemByName("Task1")
  If Not Task.WaitForState(ns_Idle, 600000) Then
  End If
End Sub


procedure Test;
var Task;
  Task := NetworkSuite.Jobs.ItemByName['Job1'].Tasks.ItemByName['Task1'];
  if not Task.WaitForState(ns_Idle, 600000) then

C++Script, C#Script

function Test()
  var Task = NetworkSuite["Jobs"]["ItemByName"]("Job1")["Tasks"]["ItemByName"]("Task1");
  if (! Task["WaitForState"](ns_Idle, 600000))

See Also

Distributed Testing
Stop Method
Run Method
State Property
OnNetTaskStateChange Event

Highlight search results