X-ray Vision identifies controls in Pega Robot Studio for use in an automation. Compared to legacy match rules, X-ray Vision minimizes configuration and reduces the time required to adjust match rules.
For example, when using legacy match rules, if a control’s attributes change and Pega Robot Studio cannot uniquely identify the control, you must update the match rule before the control can be used in an automation.
With X-ray Vision, each control is assigned a numerical value called the PegaId. When using the PegaId as the match rule for a control, the X-ray Vision engine modifies the database file, which contains the control attributes, and the match rule never needs modification.
X-ray Vision currently supports .NET, WPF, and WinForm applications as well as web applications.
X-ray Vision configuration and files
By default, newly added Windows applications have X-ray Vision enabled. To disable X-ray Vision, set the EnableX-rayVision to False in the advanced properties grid for the Windows application.
When you interrogate an application using X-ray Vision, Pega Robot Studio creates four files in an X-ray folder within the project folder. The files are each named with a GUID that represents the application. The files have the following extensions and purposes:
|Contains configuration information for the application
|Contains the X-ray control information for the application, including the PegaId, technique for matching, and attribute values
|Contains attributes and their weights that have been modified for the application from the default framework TAD file
|Ties together the other X-ray Vision files for the application
The database file is constantly updated while the application is in interrogation mode. When new controls become available after the navigation or a screen changes in an application, the X-ray Vision engine adds the new controls to the X-ray database file for that particular application. When the X-ray Vision engine encounters a control for a second time, the engine compares all the attributes of the control to the values that are stored in the X-ray database file to determine the best attribute to use for identification.
All X-ray Vision files are included when you deploy a project. The X-ray Vision engine uses these files at runtime.
The X-ray Vision engine assigns a PegaId to each control. X-ray Vision stores the PegaId in the X-ray database file for that application. When you interrogate a control, Pega Robot Studio sets the PegaId as the match rule for that control. While in interrogation mode, if the X-ray Vision engine determines that the chosen attribute no longer uniquely identifies the control, the X-ray engine modifies the attribute and saves it to the database file for that PegaId. Only the PegaId match rule is required when X-ray Vision is enabled in the application and never requires modification. Avoid including additional match rules when using the PegaId match rule.
The PegaId match rule is not available for top-level forms or context menu or menu items. Pega Robot Studio uses legacy match rules for these controls.
Note: X-ray Vision is currently not supported for applications that contain embedded frameworks. For example, if you start a WPF application that has embedded Winforms controls, X-ray Vision is used and PegaIds are assigned for the WPF controls. Legacy match rules are used for the Winforms controls.
Web application considerations
When using X-Ray Vision with web applications, keep the following considerations in mind:
- X-Ray Vision is unavailable when you use Microsoft Edge in Internet Explorer compatibility mode.
- If you require the UseKeys property for clonable controls, enable UseKeys while you are in interrogation mode and ensure that the control is matched.
- When you enable the UseKeys property for a control, legacy match rules for that control and any child controls replace the PegaId match rule. You might need to alter match rules afterward to ensure a proper match.
- If you disable UseKeys after enabling it, Robot Studio continues to use legacy match rules. To use the PegaId match rule, delete the control, and then interrogate it again.
Check your knowledge with the following interaction: