TestComplete provides you with access to individual objects of Visual Basic applications, their internal properties and methods. The following sections describe how you can access these native properties and methods from your tests:
About Accessing Native Properties and Methods
TestComplete identifies individual GUI objects in Visual Basic applications and provides special methods and properties for automating various operations over these objects, getting object data, checking an object's state and so on. However, if these predefined properties and methods are insufficient for your testing needs, you can use native properties and methods of Visual Basic objects to complete the desired tasks. These are the same properties and methods that are available for use in the tested application’s source code, as well as custom properties and methods implemented by the application developers. This way, you can perform almost any operation in the tested Visual Basic application, even those that cannot be performed via the application’s GUI.
The Object Browser marks objects of Visual Basic applications with the glyph. To view native members available for a Visual Basic object, use the Object Spy or Object Browser in the Advanced view mode. In the Object Browser, native properties and methods of Visual Basic objects are displayed under the Visual Basic category (see Important Notes for details).
For more information on how to refer to objects in Visual Basic applications, see Addressing Objects in Visual Basic Applications.
Getting and Setting Native Object Properties
To access an object’s property in script code, you specify the property name after the object name using the dot operator ".
" (in VBScript, JScript, Python and DelphiScript projects) or the square bracket notation [" "]
(in C++Script and C#Script projects).
For example, you can get and set a Visual Basic form’s title using its native Caption
property in the following way:
JavaScript, JScript
var title = Aliases.Orders.MainForm.Caption;
Aliases.Orders.MainForm.Caption = "New Window Title";
Python
title = Aliases.Orders.MainForm.Caption;
Aliases.Orders.MainForm.Caption = "New Window Title";
VBScript
Dim title
title = Aliases.Orders.MainForm.Caption
Aliases.Orders.MainForm.Caption = "New Window Title"
DelphiScript
procedure Test;
var title;
begin
…
title := Aliases.Orders.MainForm.Caption;
Aliases.Orders.MainForm.Caption := 'New Window Title';
…
end;
C++Script, C#Script
var title = Aliases["Orders"]["MainForm"]["Caption"];
Aliases["Orders"]["MainForm"]["Caption"] = "New Window Title";
In keyword tests, you can retrieve an object’s property value and save it to a test variable using the Set Variable Value operation. To change a property value, you can use the On-Screen Action operation to call the property’s [Set] method. For more information, see Getting and Setting Object Property Values.
You can also create checkpoints to verify the values of native object properties.
Calling Native Object Methods
To call an object’s method from script code, you use the dot operator ".
" (in VBScript, JScript, Python and DelphiScript projects) or the square bracket notation [" "]
(in C++Script and C#Script projects) to specify the method name after the object name.
For example, in script code you can call the native Customize
method of a Visual Basic toolbar as follows:
JavaScript, JScript
Aliases.Orders.MainForm.tbToolBar.Customize();
Python
Aliases.Orders.MainForm.tbToolBar.Customize();
VBScript
Aliases.Orders.MainForm.tbToolBar.Customize
DelphiScript
Aliases.Orders.MainForm.tbToolBar.Customize();
C++Script, C#Script
Aliases["Orders"]["MainForm"]["tbToolBar"]["Customize"]();
In keyword tests, you can use the On-Screen Action operation to call an object’s native method. For more information, see Calling Object Methods.
Important Notes
-
In the Object Spy or Object Browser, native properties and methods of Visual Basic objects are displayed only in the Advanced view mode.
-
Hidden properties, events and methods are not displayed by default. If you need to view hidden properties, enable the Show hidden properties option in the TestComplete Options dialog.
-
If a native property or method has the same name as the test object property or method provided by TestComplete, the native property or method can be accessed via the
NativeVBObject
property. For example, you can access the nativeName
property of a Visual Basic application’s form as follows:JavaScript, JScript
Aliases.Orders.MainForm.NativeVBObject.Name
Python
Aliases.Orders.MainForm.NativeVBObject.Name
VBScript
Aliases.Orders.MainForm.NativeVBObject.Name
DelphiScript
Aliases.Orders.MainForm.NativeVBObject.Name
C++Script, C#Script
Aliases["Orders"]["MainForm"]["NativeVBObject"]["Name"]
-
The leading underscore ( _ ) in property and method names is replaced with the character z. For example, a property named
_flag
is accessed aszflag
, a method named__reset()
is accessed asz_reset()
, and so on. -
If the object contains overloaded methods (methods with the same name but different parameters and they return value types), TestComplete appends indexes to method names in order to distinguish them. For example,
GetChildAtPoint()
andGetChildAtPoint_2()
. To determine which index-suffixed method name corresponds to which overloaded method, examine the method’s parameter list in the Object Spy, Object Browser or Code Completion. -
Some native properties and methods of Visual Basic objects are unavailable to TestComplete. For more information, see Object Properties, Fields and Methods That Are Unavailable to TestComplete.
See Also
Testing Visual Basic Applications
Testing Visual Basic Applications - Overview