- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Workflow Analyzer
- 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
- Variables
- Arguments
- Imported Namespaces
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Automating Citrix Technologies
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
- About troubleshooting
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- JxBrowser applications troubleshooting
- User Events Monitoring
- Citrix Troubleshooting
- Automating Applications Running Under a Different Windows User
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.
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
<tag_name>
value.
|
|
Allows you to specify the search pattern through the
<regex_command>
expression used to identify the
<tag_name> .
|
Currently, the RegEx search is supported by the following selector types:
Selector Type |
Support |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Tags which identify a process name. Example:
<html app="firefox.exe"> |
|
<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' />
<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' />
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
Index value, followed by any number between 0 and 5.
|
|