LinkedIn
Copied!

Table of Contents

Using X-ray Vision in Pega Robotic Automation

X-ray Vision is a new way of identifying controls in Robot Studio, starting in version 19.1.73. 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, 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 it must be enabled. 

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.

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
 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 Windows Forms controls.
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 instead.

New and Modified Assemblies for X-ray Vision

New Assemblies Modified 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
   
Suggest Edit
Did you find this content helpful?

100% found this useful

Have a question? Get answers now.

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