Description
Use this method to pause the script execution until the specified window or control of a Java Swing application becomes available to TestComplete. The method returns a program object that provides a scripting interface to the specified window or control. The resulting object contains both methods and properties defined in application code as well as methods, properties and actions provided by TestComplete.
Declaration
TestObj.WaitSwingObject(Name, Timeout)
TestObj | A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section | |||
Name | [in] | Required | String | |
Timeout | [in] | Required | Integer | |
Result | Object |
TestObj.WaitSwingObject(ClassName, Caption, Timeout)
TestObj | A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section | |||
ClassName | [in] | Required | String | |
Caption | [in] | Required | String | |
Timeout | [in] | Required | Integer | |
Result | Object |
TestObj.WaitSwingObject(ClassName, Caption, Index, Timeout)
TestObj | A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section | |||
ClassName | [in] | Required | String | |
Caption | [in] | Required | String | |
Index | [in] | Required | Integer | |
Timeout | [in] | Required | Integer | |
Result | Object |
TestObj.WaitSwingObject(ClassName, Caption, Index, WndIndex, Timeout)
TestObj | A variable, parameter or expression that specifies a reference to one of the objects listed in the Applies To section | |||
ClassName | [in] | Required | String | |
Caption | [in] | Required | String | |
Index | [in] | Required | Integer | |
WndIndex | [in] | Required | Integer | |
Timeout | [in] | Required | Integer | |
Result | Object |
Applies To
The method is applied to the following objects:
View Mode
To view this method in the Object Browser panel and in other panels and dialogs, activate the Advanced view mode.
Parameters
The method has the following parameters:
Name
The name of the desired object as it is specified in the tested application’s source code (the string that is returned by object’s getName
method).
ClassName
The window’s class name is specified by application code (not the operating system’s class name). Note that you should specify the short class name, for instance, JRootPane
, rather than javax.swing.JRootPane
. You can use wildcards (* and ?) in this parameter.
Caption
Accessible window caption (the value returned by the javax.accessibility.AccessibleContext.getAccessibleName()
method). You can use wildcards (* and ?) in this parameter.
Index
Index of the window among other windows belonging to the same parent object (TestObj). This index is zero-based.
The Index parameter is used only if an object contains two or more child objects that have the same class name and caption. It is used to distinguish these objects from each other. The first found object has an index of 0, the second - 1 and so on.
If there is only one child object with the specified class name and caption, index should not be specified. To decide whether the index should be used, explore your application in the Object Browser panel and use the naming format that is used by the panel. |
WndIndex
The window index of a Swing application’s object. This parameter is used if the parent object contains several child objects that have the same class name, accessible name and index. The parameter value coincides with the value of the Index
property. This only happens if the following conditions are met:
- The addressed component is a windowed component.
-- and --
- One of the following conditions are met:
- The addressed component has a parent Java component (not parent window, but the parent component in Java terms, that is, the object that is returned by the component’s
getParent()
method).
-- and --
This parent component is not a windowed control (for instance,Box
).
-- or --
- The addressed component is a top-level window.
-- and --
It that has a parent Java component.
-- and --
This parent component is a windowed component.
-- or --
- The addressed component does not have a parent component in Java terms.
- The addressed component has a parent Java component (not parent window, but the parent component in Java terms, that is, the object that is returned by the component’s
For more information, see Addressing Objects in Java Applications.
Timeout
The number of milliseconds to wait until the specified object becomes available. If Timeout is 0, the method returns immediately. If Timeout is -1, the wait time is infinite.
Note that Timeout value is not strict and if the tested application is busy, TestComplete could wait for the object for a longer period of time than it is specified by the parameter. The following can cause this:
A call to any WaitXXXObject
method causes the object tree to refresh. To update object data, TestComplete may call some of object’s native methods that are accessible only from the application’s thread. When the thread is busy, TestComplete tries to call those methods during some pre-defined time (one second) thus delaying the refresh. There could be several attempts to get the object’s data which could result in a noticeable difference from the Timeout value.
Result Value
The WaitSwingObject
method returns an object that provides a scripting interface to an object located in a Java Swing application. If TestComplete cannot access the specified object (for example, this object does not exist), the method will return an empty stub object. To determine whether WaitSwingObject
returns a valid object, use the Exists
property of the resultant object. If this property returns False, then the returned object is a stub object and the call to WaitSwingObject
was not successful.
Remarks
The returned object contains both methods and properties defined in the application code as well as methods, properties and actions provided by TestComplete. The returned object may hold two or more methods and properties having the same name. When you call such a method or property, a naming conflict will occur. To avoid it and to specify which method or property is to be called, use the NativeJavaObject namespace.
The method is available only if the Java Application Support plugin is installed. Otherwise, the method is absent in the method list of the TestObj object.If the plugin is installed, you cannot use the Window method to address windows of your Java Swing applications, you should use WaitSwingObject instead. |
To obtain the class name, accessible name and index used by the second or third implementation of the WaitSwingObject
method, use the JavaClassName
, AWTComponentAccessibleName
and AWTComponentIndex
properties.
See Also
Addressing Objects in Java Applications
Object Browser Naming Notation
Using Namespaces
About Open Applications
JavaClassName Property
AWTComponentAccessibleName Property
AWTComponentIndex Property
SwingObject Method
JavaClassName Property
Window Method
WaitWindow Method