WaitChild Method

Applies to TestComplete 15.64, last modified on June 12, 2024


This method delays script execution until the specified child object appears in the child list or the specified time limit is reached. It then returns the child object if found, else an "empty" object. To determine whether the returned object exists in the system, call the Exists property of this object.


TestObj.WaitChild(ChildName, WaitTime)

TestObj A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section
ChildName [in]    Required    String    
WaitTime [in]    Required    Integer    
Result Object

Applies To

All processes, windows, controls and onscreen objects.

View Mode

To view this method in the Object Browser panel and in other panels and dialogs, activate the Advanced view mode.


The method has the following parameters:


The name of the child object. This should be the name displayed in the Object Browser panel (in the Name field of the Properties pane).

You can use wildcards (* and ?) in child names. This may be useful if the name of a child object, e.g. a window, changes from one application run to another. To specify an asterisk as part of the name, duplicate the asterisk character (**).


The number of milliseconds to wait for the specified child. If WaitTime is 0, the method does not wait and returns immediately. If WaitTime is -1, the waiting time is infinite.

Note: If you are testing an open application, the WaitTime parameter is required. In case of a non-open application, the WaitTime parameter is optional and has the default value 0.

Result Value

The child object with the specified name. To check if the method returns a valid object, use the Exists property of the returned object. If the property is False, the object is a stub object.


The following example demonstrates how to use the WaitChild method in scripts:

JavaScript, JScript

var p, s;
s = "Process(\"WINWORD\")";
p = Sys.WaitChild(s, 10000);
if (p.Exists)
  Log.Message("Not found");


s = 'Process("WINWORD")'
p = Sys.WaitChild(s, 10000)
if p.Exists:
  Log.Message("Not found")


s = "Process(""WINWORD"")"
Set p = Sys.WaitChild(s, 10000)
If p.Exists Then
  Log.Message p.Name
  Log.Message "Not found"
End If


var s, p;
s := 'Process(''WINWORD'')';
p := Sys.WaitChild(s, 10000);
if p.Exists then
  Log.Message('Not found');

C++Script, C#Script

var p, s;
s = "[\"Process\"](\"WINWORD\")";
p = Sys["WaitChild"](s, 10000);
if (p["Exists"])
  Log["Message"]("Not found");

See Also

Child Method
Find Method
FindAll Method
FindChild Method
FindAllChildren Method
FindId Method
Name Property
Exists Property

Highlight search results