Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

Using X-ray Vision in Pega Robotic Automation

Updated on January 5, 2024

X-ray Vision is a new way of identifying controls in Robot Studio that was implemented in version 19.1.73 and later.

Note: X-ray Vision in version 19.1 is only for use with .NET, WPF, and Windows Forms applications. To use X-ray Vision with the Universal Web Adapter to automate applications running in Google Chrome and Microsoft Edge, you must upgrade to version 22.1. For more information about using X-ray Vision in version 22.1, see X-ray Vision. For information about upgrading to version 22.1, see Installing Pega Robotic Automation.

When interrogating an application, if new controls become available in the application (due to navigation of the application, or from a screen change that makes new controls appear), the new controls are added to the X-ray database file for the application. The system assigns the new control a numeric PegaId that is stored in the X-ray database file for the application, along with a collection of attributes that define the control. When you interrogate a control to use it in an automation, the PegaId is set as the match rule that maps the adapter's object to the control within the X-ray database file. This PegaId match rule never needs modification. When the X-ray Vision engine sees the control a second time, it compares all of its attributes to those stored in the database, to determine the best attribute to use. The database file is constantly updated while the application is in interrogation mode. 

When you create the automation package during the deployment process, the system includes the database files. Robot Runtime uses these files to provide the attribute values that are used for control identification. If an attribute changes for a control in Runtime, the engine continues to track the control by finding the next best attribute to use. The system keeps this attribute change in memory until you close Robot Runtime.

Currently, X-ray Vision supports .NET, WPF, Universal Web Adapter, and Windows Form applications. 

Enabling X-ray Vision

Use the new Windows adapter properties to enable X-ray Vision. Access these properties through the property grid in the X-ray Vision section.

  1. In Pega Robot Studio, switch your property grid view to Advanced.
  2. In the X-ray Vision section, set the EnableX-rayVision property to True. By default, X-ray Vision is disabled for a newly added Windows adapter, so you must enable it. 

There are two additional adapter properties in the X-Ray Vision section, called EnableX-rayVisionEvents and EnableX-rayVisionTab. Pega Support uses these properties to troubleshoot any issues that occur with the X-ray vision feature, and they should not be used otherwise.

X-Ray Properties

When an application is interrogated with X-ray Vision, Robot Studio creates four files in the X-ray folder, located in the project folder. If an application starts other applications, Robot Studio creates a set of four files for each application. 

Each file is named with a shared GUID. The files represent the application whose data they store, and have the following extensions:

  • .xrayConfig – Contains configuration information for the application.
  • .xrayDb – Contains the X-ray control information that has been collected for the application.  This includes the assigned PegaId, the technique used to solve, and the attribute values.
  • .xrayTad – Contains attributes and their weights that have been modified for the application from the default framework TAD file.
  • .xray – The .xray file is the master file that contains the name of the application executable in its filename, along with the GUID. This file makes it clear which files belong to what application, tying the .xrayConfig, .xrayDb, and xrayTad files together for the application. For example:

GUID.APPNAME.xray [master]
      GUID.xrayConfig
     
GUID.xrayDb
      GUID.xrayTad

When you deploy an automation, all of these files are included, along with the default framework TAD files. Robot Runtime uses these files as it executes the automation.

Universal Web Adapter considerations

Note: The following UseKeys considerations only apply when you are using X-Ray Vision and the Universal Web Adapter. These considerations do not apply when you are using X-ray Vision to interrogate .NET or Windows Presentation Foundation applications.

When you use X-ray Vision and the Universal Web Adapter, consider the following limitations:

  • Do not enable UseKeys, unless you are in interrogation mode. Controls have to be matching when you are in interrogation mode.
  • When you enable a property for the control, Robot Studio displays a confirmation message. To have Robot Studio convert the match rules for the control, and any children of those legacy match rules, click OK.  If you change UseKeys to false after you click OK, Robot Studio will continue to use the legacy match rules. To go back to using the PegaId match rule, delete the control and interrogate it again. The following illustration is an example of the confirmation message.
Example of the Match Rule confirmation message.
Match Rule confirmation message
  • If you try to enable UseKeys when the control is not matching or before you start interrogation, Robot Studio displays the following error message:
Example of the Match Rule error message.
Match Rule error message

PegaId match rule

When you enable X-ray Vision on the adapter, the controls that are interrogated in the application use the PegaId match rule.  This match rule ties the control to the application’s .xraydb file. Only the PegaId match rule is needed when X-ray Vision is enabled for the adapter. Do not include additional match rules when using X-ray Vision and the PegaId match rule.

"Pega ID"
Pega ID

Keep in mind the following limitations:

  • X-ray Vision is not supported for applications that contain embedded frameworks. For example, if you start a Windows Presentation Foundation (WPF) application that has embedded controls, X-ray Vision assigns PegaIds for the WPF controls. Legacy match rules are used for embedded controls of a different framework than the application.
  • X-ray Vision is not supported for the Infragistics ultratab control.
  • The PegaId match rule is not available for top-level forms, context menus, or menu items.  Use legacy match rules for these controls.

New and Modified Assemblies for X-ray Vision

New AssembliesModified Assemblies

Pega.Xray.dll
Pega.Xray.DotNet.dll
Pega.Xray.Hooks.dll
Pega.Xray.Design.dll
Pega.Profiler.DotNet.x32.dll
Pega.Profiler.DotNet.x64.dll
Pega.Xray.ProfilerRegistration32.exe
Pega.Xray.ProfilerRegistration64.exe
Pega.Register.XrayDlls.exe
Pega.Xray.GacRegistration.exe
Pega.Xray.DictionaryEditor.exe
Pega.Xray.DotNet.DictionaryGenerator.exe
Pega.Brokers.Platform.DotNet.v20.dll
Pega.Brokers.Platform.DotNet.v40.dll
Pega.Brokers.Framework.DotNetWinForms.v20.dll
Pega.Brokers.Framework.DotNetWinforms.v40.dll
Pega.Brokers.Framework.DotNetWpf.v20.dll
Pega.Brokers.Framework.DotNetWpf.v40.dll
Pega.Translators.DotNet.v20.x32.dll
Pega.Translators.DotNet.v20.x64.dll
Pega.Translators.DotNet.v40.x32.dll
Pega.Translators.DotNet.v40.x64.dll
Pega.Translators.DotNet.Virtual.dll
Pega.Translators.DotNet.v20.Shim.dll
Pega.Translators.DotNet.v40.Shim.dll
Pega.Translators.DotNet.v20.WindowsForms.dll
Pega.Translators.DotNet.v40.WindowsForms.dll
Pega.Translators.DotNet.v20.WPF.dll
Pega.Translators.DotNet.v40.WPF.dll
Pega.Translators.DotNet.Syncfusion.dll
Pega.Translators.DotNet.v20.DevComponents.dll
Pega.Translators.DotNet.v40.DevComponents.dll
Pega.Translators.DotNet.v20.DevExpress.dll
Pega.Translators.DotNet.v40.DevExpress.dll
Pega.Translators.DotNet.v20.Infragistics.dll
Pega.Translators.DotNet.v40.Infragistics.dll
Pega.Translators.DotNet.v20.WPF.Infragistics.dll
Pega.Translators.DotNet.v40.WPF.Infragistics.dll
Pega.Translators.DotNet.v40.WPF.FocusPoint.dll

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pega.Remoting.dll
OpenSpan.dll
OpenSpan.Design.dll
OpenSpan.Events.dll
OpenSpan.IDE.dll
OpenSpan.MPF.dll
OpenSpan.Studio.dll
OpenSpan.Virtual.Interfaces.dll
OpenSpan.Adapters.dll
OpenSpan.Adapters.Web.WebBase
OpenSpan.Adapters.Web.WebBase.Design.dll
OpenSpan.Adapters.Text.Design.dll
OpenSpan.Adapters.ActiveX.dll
OpenSpan.Adapters.DataGrid.Design.dll
OpenSpan.Adapters.Design.dll
OpenSpan.Adapters.Virtual.dll
OpenSpan.Adapters.Virtual.Design.dll
OpenSpan.Adapters.Windows.dll
OpenSpan.Adapters.Windows.Design.dll
OpenSpan.Adapters.Web.dll
OpenSpan.Adapters.Web.Design.dll
OpenSpan.Adapters.Siebel.dll
OpenSpan.Adapters.Delphi.dll
OpenSpan.Adapters.DotNet.dll
OpenSpan.Adapters.DotNet.Design.dll
OpenSpan.Adapters.Endsleigh.dll
OpenSpan.Adapters.MFC.dll
OpenSpan.Adapters.PowerBuilder.dll
OpenSpan.Adapters.VisualBasic6.dll
OpenSpan.Adapters.WinInet.dll
OpenSpan.Translators.Clarify.x32.dll
OpenSpan.Translators.CSG.x32.dll
OpenSpan.Translators.At000Win.x32.dll
OpenSpan.Translators.DotNet.v20.DevComponents.dll
OpenSpan.Translators.DotNet.v40.DevComponents.dll
OpenSpan.Translators.DotNet.v20.DevExpress.dll
OpenSpan.Translators.DotNet.v40.DevExpress.dll
OpenSpan.Translators.DotNet.v20.Infragistics.dll
OpenSpan.Translators.DotNet.v40.Infragistics.dll
OpenSpan.Translators.DotNet.v20.WPF.Infragistics.dll
OpenSpan.Translators.DotNet.v40.WPF.Infragistics.dll
OpenSpan.Translators.DotNet.Virtual.dll
OpenSpan.Translators.DotNet.Syncfusion.dll
OpenSpan.Translators.DotNet.v20.WindowsForms.dll
OpenSpan.Translators.DotNet.v40.WindowsForms.dll
OpenSpan.Translators.DotNet.v20.WPF.dll
OpenSpan.Translators.DotNet.v40.WPF.dll
OpenSpan.Translators.DotNet.v40.WPF.FocusPoint.dll
OpenSpan.Translators.Facets.CerlCtl.x32.dll
OpenSpan.Translators.Facets.CerlDlg.x32.dll
OpenSpan.Translators.FarpointGrid.x32.dll
OpenSpan.Translators.FarpointList.x32.dll
OpenSpan.Translators.Farpoint.Spread25.x32.dll
OpenSpan.Translators.Farpoint.Spread30.x32.dll
OpenSpan.Translators.Farpoint.Spread70.x32.dll
OpenSpan.Translators.Farpoint.Spread80.x32.dll
OpenSpan.Translators.Gupta.Tabli62.x32.dll
OpenSpan.Translators.IBM.ArsGui32.x32.dll
OpenSpan.Translators.IBM.ArsGui32.x64.dll
OpenSpan.Translators.MhTab.x32.dll
OpenSpan.Translators.MSFlexGrid.x32.dll
OpenSpan.Translators.MSHFlexGrid.x32.dll
OpenSpan.Translators.NiSource.KipCzCnr.x32.dll
OpenSpan.Translators.NiSource.KipCzNb.x32.dll
OpenSpan.Translators.ProfUIS.x32.dll
OpenSpan.Translators.OpenEdge.Prow.x32.dll
OpenSpan.Translators.OpenEdge.Prow.x64.dll
OpenSpan.Translators.Sheridan.DataWidgets.x32.dll
OpenSpan.Translators.SSTab.x32.dll
OpenSpan.Translators.Uniface.Umsw.x32.dll
  

Tags

Robotics System Architect Robotic Process Automation

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us