- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
RegEx Search
About RegEx Search
A regular expression, or RegEx, is a special text string for describing a search pattern. This makes them ideally suited for searching, text processing, and data validation. Using the RegEx search capabilities in selectors enables you to identify multiple target element with a single search execution. Without RegEx, multiple selectors would have been built to identify each target element.
How RegEx Search Works
In order to use the RegEx search capabilities, a matching option needs to be included in the tag of the element you want to identify, as follows:
Option |
Description |
---|---|
|
Allows you to specify the target search tag, determined by the |
|
Allows you to specify the search pattern through the |
Currently, the RegEx search is supported by the following selector types:
Selector Type |
Support |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Tags which identify a process name. Example: |
|
Examples of Using RegEx Search
Let's assume that we want to create an automation process which targets the Calculator application. However, for the purpose
of this example, the value of the <name>
tag alters between 0 and 2. Without the RegEx search, two selectors would have been built, one for each value of the <name>
tag, as follows:
Selector for <name='Display is 0'> tag:
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' /> <uia cls='LandmarkTarget' /> <uia automationid='CalculatorResults' name='Display is 0' role='text' />
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' /> <uia cls='LandmarkTarget' /> <uia automationid='CalculatorResults' name='Display is 0' role='text' />
Selector for the <name='Display is 2'> tag:
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' /> <uia cls='LandmarkTarget' /> <uia automationid='CalculatorResults' name='Display is 2' role='text' />
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' /> <uia cls='LandmarkTarget' /> <uia automationid='CalculatorResults' name='Display is 2' role='text' />
Introducing RegEx search inside the second <uia>
tag makes it possible to generate a single selector to match both cases. A valid selector, in this case, looks something
like this:
Selector With RegEx Search
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' />
<uia cls='LandmarkTarget' />
<uia automationid='CalculatorResults' name='Display is \d' role='text' matching:name='regex' />
<wnd app='applicationframehost.exe' appid='Microsoft.WindowsCalculator_8wekyb3d8bbwe!App' title='Calculator' />
<uia cls='LandmarkTarget' />
<uia automationid='CalculatorResults' name='Display is \d' role='text' matching:name='regex' />
The matching:name='regex'
attribute instructs our selector to use RegEx to identify the <name>
tag, while the <name='Display is \d'>
command returns all the numerical values for the <name>
tag it identifies.
Below are a couple of more examples on how RegEx search works and what values it returns:
Regular Expression |
Description |
Returned Results |
---|---|---|
|
Matches every string containing the RPA or Robotic Process Automation strings. |
|
|
Matches every string starting with the |
|