Understanding How UFT One Merges Multiple Test Object Configuration Files

Each time you open UFT One, it reads all of the test object configuration files located in the <UFT One installation folder>\dat\Extensibility\<UFT One add-in name> folders. UFT One then merges the information for each test object class from the different files into a single test object class definition, according to the priority of each test object configuration file.

UFT One ignores the definitions in a test object configuration file in the following situations:

  • The Load attribute of the TypeInformation element is set to false.
  • The environment relevant to the test object configuration file is displayed in the Add-in Manager dialog box, and the UFT One user selects not to load the environment.

You define the priority of each test object configuration file using the Priority attribute of the TypeInformation element.

If the priority of a test object configuration file is higher than the existing class definitions, it overrides any existing test object class definitions, including built-in UFT One information. For this reason, be aware of any built-in functionality that will be overridden before you change the priority of a test object configuration file.

When multiple test object class definitions exist, UFT One must handle any conflicts that arise. The following sections describe the process UFT One follows when ClassInfo, ListOfValues, and Operation elements are defined in multiple test object configuration files. All of the IdentificationProperty elements for a specific test object class must be defined in only one test object configuration file.

ClassInfo Elements

  • If a ClassInfo element is defined in a test object configuration file with a priority higher than the existing definition, the information is appended to any existing definition. If a conflict arises between ClassInfo definitions in different files, the definition in the file with the higher priority overrides (replaces) the information in the file with the lower priority.
  • If a ClassInfo element is defined in a test object configuration file with a priority that is equal to or lower than the existing definition, the differing information is appended to the existing definition. If a conflict arises between ClassInfo definitions in different files, the definition in the file with the lower priority is ignored.

ListOfValues Elements

  • If a conflict arises between ListOfValues definitions in different files, the definition in the file with the higher priority overrides (replaces) the information in the file with the lower priority (the definitions are not merged).
  • If a ListOfValues definition overrides an existing list, the new list is updated for all arguments of type Enumeration that are defined for operations of classes in the same test object configuration file.
  • If a ListOfValues is defined in a configuration file with a lower priority than the existing definition, the lower priority definition is ignored.

Operation Elements

  • Operation element definitions are either added, ignored, or overridden, depending on the priority of the test object configuration file.
  • If an Operation element is defined in a test object configuration file with a priority higher than the existing definition, the operation is added to the existing definition for the class. If a conflict arises between Operation definitions in different files, the definition in the file with the higher priority overrides (replaces) the definition with the lower priority (the definitions are not merged).