Object conflicts
Relevant for: GUI tests and components
Merging two object repositories can result in conflicts arising from similarities between the objects they contain.
Conflicts between objects in the primary and secondary object repositories are resolved automatically by the Object Repository Merge Tool, according to the default resolution settings that you can configure before performing the merge. Conflicts between checkpoint or output value objects with the same name but different content are always resolved by merging both objects into the new repository and renaming one of them.
The Object Repository Merge Tool also allows you to change the way the merge was performed for each individual object that causes a conflict.
Changes that you make to the default conflict resolution can themselves affect the target object repository by causing new conflicts. In the above example, keeping both objects would cause a name conflict. Therefore, the target object repository is updated after each conflict resolution change and redisplayed.
Different Objects with the Same Name Conflict
An object in the primary object repository and an object in the secondary object repository have the same name, but completely different content.
Resolve this conflict type by:
-
Keeping the object added from the primary object repository only.
-
Keeping the object added from the secondary object repository only.
-
Keeping the objects from both object repositories. In this case, the Object Repository Merge Tool automatically renames the object that is added from the secondary file by adding an incremental numeric suffix to the name, for example, Edit_1.
-
Ignoring the object from the local object repository and keeping the object from the shared object repository (when updating a shared object repository from a local object repository).
By default, the conflict resolution settings for conflicts of this type are configured so that the target object repository takes the object from both files. The object that is added from the secondary file is renamed by adding an incremental numeric suffix to the name, for example, Edit_1.
Note: Test objects with different visual relation identifier definitions are treated as objects with different descriptions.
Identical Description Different Name Conflict (Test Objects Only)
A test object in the primary object repository and a test object in the secondary object repository have different names, but the same description properties and values.
Resolve this conflict type by:
-
Taking the test object name from the object in the primary object repository.
-
Taking the test object name from the object in the secondary object repository.
-
Ignoring the test object from the local object repository and keeping the test object from the shared object repository (when updating a shared object repository from a local object repository).
By default, the conflict resolution settings for conflicts of this type are configured so that the target object repository takes the object name from the primary source file.
Similar Description Conflict (Test Objects Only)
A test object in the primary object repository and a test object in the secondary object repository have the same name, and they have similar, but not identical, description properties and values. One of the test objects always has a subset of the properties set of the other test object. For example, a test object named Button in the secondary object repository has the same description properties and values as a test object named Button in the primary object repository, but also has additional properties and values.
Resolve this conflict type by:
-
Keeping the test object added from the primary object repository only.
-
Keeping the test object added from the secondary object repository only.
-
Keeping the test objects from both object repositories. In this case, the Object Repository Merge Tool automatically renames the test object that is added from the secondary file by adding an incremental numeric suffix to the name, for example, Button_1.
-
Ignoring the test object from the local object repository and keeping the test object from the shared object repository (when updating a shared object repository from a local object repository).
By default, the conflict resolution settings for conflicts of this type are configured so that the target object repository takes the test object that has fewer identifying properties than the test object with which it conflicts.