You can add collections of object properties to Stores in several ways (see below). TestComplete stores the object properties to a hard disk. The stored properties are also displayed in the Objects editor, where you can view and modify them.
Adding Property Collections From the Project Explorer
Adding Property Collections From the Objects Editor
Adding Property Collections From the Object Browser
Note: | A note before you proceed. It concerns storing object properties through the Store Object Properties dialog (as you will see below, this dialog is used in most of the described approaches):
When storing object properties that reside in an Open Application, remember that some object properties may be unavailable to TestComplete and, thus, their values are not displayed in the Store Object Properties dialog and cannot be stored. See Object Properties, Fields and Methods That Are Unavailable to TestComplete. Besides, TestComplete cannot store indexed properties, that is, those properties that require one or more additional parameters to get a value. These properties are not displayed in the Store Object Properties dialog either. Also, note that, by default, protected and private properties are hidden from the dialog. If you want to store their values, enable the Show hidden members option in the Engines - General Options dialog. See Access to Properties for more information. |
Adding Property Collections From the Project Explorer
To add a property collection from the Project Explorer:
-
Switch to the Project Explorer panel (if it is hidden, select View > Project Explorer from the TestComplete main menu to make the panel visible).
-
Right-click the Stores > Objects node in the Project Explorer panel and select Add > New Item from the context menu.
-
Use the subsequent Add Object wizard to specify the object and its properties to store, or to import an existing file containing stored object data to your project.
Adding Property Collections From the Objects Editor
-
Open the Objects editor.
-
Right-click somewhere within the editor and choose New Item from the context menu.
-
In the ensuing Add Object wizard, you specify the object you want to store and its properties or select an existing file containing object data you want to add to your project.
For more information on how to do this, see About Objects Editor.
Adding Property Collections From the Object Browser
-
Switch to the Object Browser panel (if it is hidden, select View > Object Browser from the context menu to make the panel visible).
-
Find the desired object in the Object tree. Right-click this object and select Store Object from the context menu.
-
(Optional) If your project suite contains several projects, TestComplete will show the Select Project dialog asking you to select the project to which you will add the collection of property values.
-
If the selected object has child objects, TestComplete asks whether you want to store the properties of child object’s.
-
Then TestComplete will show the Store Object Properties dialog, where you can define which property values are to be included in the collection and saved to Stores.
Adding Property Collections From the Object Spy Window
For more information on this, see Storing Object Properties From Object Browser.
Adding Property Collections From Tests
To add a property collection to Stores from tests, call the Objects.Save
method within your keyword test or script. This method combines property names and values into a collection and saves it to the Object list of the Stores project item. The following code demonstrates the use of this method:
JavaScript, JScript
var w, PropertyNames, CollectionName;
w = Sys.Desktop.ActiveWindow();
// Prepares the property list
PropertyNames = "Top Left Height Width";
// Sets the name of the property collection
CollectionName = "ActiveWindowProps";
// Saves values of properties specified in PropertyNames.
// Note that the Save method also has the fourth parameter
// that lets you not to save certain properties.
Objects.Save(w, CollectionName, PropertyNames);
Python
w = Sys.Desktop.ActiveWindow()
# Prepares the property list
PropertyNames = "Top Left Height Width"
# Sets the name of the property collection
CollectionName = "ActiveWindowProps"
# Saves values of properties specified in PropertyNames.
# Note that the Save method also has the fourth parameter
# that lets you not to save certain properties.
Objects.Save(w, CollectionName, PropertyNames)
VBScript
Set w = Sys.Desktop.ActiveWindow
' Prepares the property list
PropertyNames = "Top Left Height Width"
' Sets the name of a property collection
CollectionName = "ActiveWindowProps"
' Saves values of properties specified in PropertyNames.
' Note that the Save method also has the fourth parameter
' that lets you not to save certain properties.
Objects.Save w, CollectionName, PropertyNames
DelphiScript
var
w, PropertyNames, CollectionName : OleVariant;
begin
w := Sys.Desktop.ActiveWindow();
// Prepares the property list
PropertyNames := 'Top Left Height Width';
// Sets the name of the property collection
CollectionName := 'ActiveWindowProps';
// Saves values of properties specified in PropertyNames.
// Note that the Save method also has the fourth parameter
// that lets you not to save certain properties.
Objects.Save(w, CollectionName, PropertyNames);
C++Script, C#Script
var w, PropertyNames, CollectionName;
w = Sys["Desktop"]["ActiveWindow"]();
// Prepares the property list
PropertyNames = "Top Left Height Width";
// Sets the name of the property collection
CollectionName = "ActiveWindowProps";
// Saves values of properties specified in PropertyNames.
// Note that the Save method also has the fourth parameter
// that lets you not to save certain properties.
Objects["Save"](w, CollectionName, PropertyNames);
Note: | If the Objects collection already contains a property collection with the specified name, the Save method will overwrite the property collection file without any warning. |
To call the Objects.Save
method from your keyword test, use the Call Object Method or Run Code Snippet operation.
See Also
About Objects Collection
About Objects Editor
Objects Object
About Object Checkpoints