The first stage of developing support for a custom toolkit is to define the test object classes that you want UFT One to use to represent your application controls. You define the test object classes in a test object configuration XML file. You need to create a test object class for every type of custom control for which you want to extend or modify UFT One support.
In a test object configuration XML, you define the test object classes (for example, the test object methods they support, their identification properties, and so on).
If the relevant add-in is not loaded when UFT One opens, UFT One does not load the information in this XML. Similarly, if the name of the environment or custom toolkit is displayed in the Add-in Manager dialog box and its check box is not selected, the information in this XML is not loaded.
The sections below describe the information that you can include in a test object class definition.
The name of the
The test object class name must be unique among all of the environments whose support a UFT One user might load simultaneously. For example, when defining a new test object class, do not use names of test object classes from existing UFT One add-ins, such as
A test object class inherits the base class' test object operations (methods and properties), generic type, default operation, and icon. Identification properties are
If you create test object classes that extend test object classes defined in another toolkit support set, you create a dependency between the two toolkit support sets. Whenever you select to load the extending toolkit support set in the UFT One Add-in Manager, you must also select to load the toolkit support set that it extends.
The generic type for the
Generic types are used when filtering objects (for example, in the Step Generator's Select Object for Step dialog box and when adding multiple test objects to the object repository). Generic types are also used when creating documentation strings for the Documentation column of the Keyword View (if they are not specifically defined in the test object configuration file).
A list of operations for the test object class, including the following information for each operation:
The arguments, including the argument type (for example,
Integer), direction (
Out), whether the argument is mandatory, and, if not, its default value.
The operation description (shown in the Object Spy and as a tooltip in the Keyword View and Step Generator).
The Documentation string (shown in the Documentation column of the Keyword View and in the Step Generator).
The return value type.
A context-sensitive Help topic to open when F1 is pressed for the test object operation in the Keyword View or Editor, or when the Operation Help button is clicked for the operation in the Step Generator. The definition includes the Help file path and the relevant Help ID within the file.
The test object operation that is selected by default in the Keyword View and Step Generator when a step is generated for an object of this class.
A list of identification properties for the test object class. You can also define:
The identification properties that are used for the object description.
The identification properties that are used for smart identification. (This information is relevant only if smart identification is enabled for the test object class. To enable smart identification, use the Object Identification dialog box in UFT One.)
The identification properties that are available for use in checkpoints and output values.
The identification properties that are selected by default for checkpoints (in the UFT One Checkpoint Properties dialog box).
When defining identification properties, it is recommended to start by copying existing identification properties from the base object in your schema or from similar objects in related toolkits.
The path of the icon file to use for this test object class. (Optional. If not defined, the base class' icon is used.) The file can be a .dll, .exe, or .ico file.
A context-sensitive Help topic to open when F1 is pressed for the test object in the Keyword View or Editor. The definition includes the .chm Help file path and the relevant Help ID within the file.
For details on the syntax and structure of a test object configuration file, see the
An example of a WPF Add-in Extensibility test object configuration file is shown below. In a Silverlight Add-in Extensibility test object configuration file, the AddinName attribute in the TypeInformation element needs to be set to Silverlight.
In addition, in the toolkit name that you provide in the PackageName attribute, you may want to include an indication as to whether this is a WPF or Silverlight toolkit. This is recommended because the Add-in Manager in UFT One displays both WPF and Silverlight Add-in Extensibility supported environments as child nodes under the WPF add-in node.
<TypeInformation Load="true" AddinName="WPF" PackageName="MyWpfToolkit“> <ClassInfo Name="MyWpfButton" BaseClassInfoName="WpfButton" ROTypeInfo="false" GenericTypeID="button" DefaultOperationName="Click" FilterLevel="0“> <IconInfo IconFile="INSTALLDIR\dat\Extensibility\WPF\MyWpfButton_icon.ico"/> <TypeInfo> <Operation Name="Click“> <Argument Name="X" IsMandatory="false" DefaultValue="-9999" Direction="In“> <Type VariantType="Integer"/> </Argument> <Argument Name="Y" IsMandatory="false" DefaultValue="-9999" Direction="In“> <Type VariantType="Integer"/> </Argument> <Argument Name="MouseButton" IsMandatory="false" DefaultValue="0" Direction="In“> <Type VariantType="Enumeration" ListOfValuesName="E_ButtonType"/> </Argument> </Operation> </TypeInfo> <IdentificationProperties> <IdentificationProperty Name="devname" ForDescription="true"/> <IdentificationProperty Name="enabled" ForDescription="false" ForVerification="true"/> </IdentificationProperties> </ClassInfo> </TypeInformation>