String Test Steps
Match
The Match test step scans a string for a specific value and stores the matches in an output variable.
This is particularly useful when you want to parse a string based on search criteria. It is often used on strings resulting from other operations, such as a received email message or Apex Execute.
Drag the Match test step from the Test Palette into the test case.
Update the following parameters:
- Input String: The string you want to parse
- Regular Expression: The value you want to search the string for
- Case Insensitive: Check this checkbox if the matching should ignore the cases of the input string and the regular expression or leave unchecked if the case should be matched
- Result Name: The name of the output variable in which the results of the search should be stored
- Result Scope: The range in which the ‘Result Name’ variable can be used or referenced
Then, save the test case.
Split
The Split test step splits a string based on a separator and stores the split strings in an output variable list.
Drag the Split test step from the Test Palette into the test case.
Update the following parameters:
- Input String: The string to be split
- Separator: Enter the character(s) to split the input string.
- Result Name: The name of the output variable in which the split strings should be stored
- Result Scope: The range in which the ‘Result Name’ variable can be used or referenced
Then, save the test case.
Replace
The Replace test step modifies a text by finding all occurrences of a matching string and replacing them with a replacement string. This function is comparable to the ‘find and replace’ feature in text editors like Microsoft Word.
Drag the Replace tests step from the Test Palette into the test case.
Update the following parameters:
- Input String: The variable which carries the text you want to modify
- Find: The value which should be sought and replaced in the Input String
- Replacement: The string value that should take the place of the Find value in the matched occurrences
- Case Insensitive: Check this checkbox if the operation should ignore the case of the Input String and the Find expression or leave unchecked if the case should be matched.
- Result Name: The name of the output variable in which the modified text should be stored
- Result Scope: The range in which the ‘Result Name’ variable can be used or referenced
Then, save the test case.
Example
The following use case shows how each String test step can be used.
In this scenario, an Account is created in Salesforce. This triggers a notification email to the new Account Owner, giving them a long string as a reference, e.g., Account_0019000001TXZoD–.
In this example, we will use String APIs to extract the long string reference and convert it into a shorter form containing just the Account ID.
Step 1: In Salesforce, an Account is created. This triggers a workflow email to the Account Owner containing the Account ID embedded in a concatenated string:
Step 2: The incoming email is read by Provar using a Subscribe Messaging API and the full email body text is extracted:
Step 3: A Match API is used to extract the Account reference ‘Account_0019000001TXZoD‘ from the full email body:
The Match result is placed into a variable:
Step 4: A Split API is used to extract the Account ID ‘0019000001TXZoD‘ from the Match result variable above:
The Split result ‘0019000001TXZoD‘ is placed into a variable:
Step 5: A Replace API is used to modify the full email body to replace the original Account reference with the Account ID ‘0019000001TXZoD‘.
Step 6: A new email containing the simplified Account ID is sent with the modified email body.
- Provar Automation
- System Requirements
- Browser and Driver Recommendations
- Installing Provar Automation
- Updating Provar Automation
- Licensing Provar
- Granting Org Permissions to Provar Automation
- Optimizing Org and Connection Metadata Processing in Provar
- Using Provar Automation
- API Testing
- Behavior-Driven Development
- Consolidating Multiple Test Execution Reports
- Creating and Importing Projects
- Creating Test Cases
- Custom Table Mapping
- Functions
- Debugging Tests
- Defining a Namespace Prefix on a Connection
- Defining Proxy Settings
- Environment Management
- Exporting Test Cases into a PDF
- Exporting Test Projects
- Japanese Language Support
- Override Auto-Retry for Test Step
- Mapping and Executing the Lightning Article Editor in Provar
- Managing Test Steps
- Namespace Org Testing
- NitroX
- Provar Automation
- Provar Test Builder
- ProvarDX
- Refresh and Recompile
- Reintroduction of CLI License Check
- Reload Org Cache
- Reporting
- Running Tests
- Searching Provar with Find Usages
- Secrets Management and Encryption
- Setup and Teardown Test Cases
- Tags and Service Level Agreements (SLAs)
- Test Cycles
- Test Plans
- Testing Browser Options
- Tooltip Testing
- Using the Test Palette
- Using Custom APIs
- Callable Tests
- Data-Driven Testing
- Page Objects
- Block Locator Strategies
- Introduction to XPaths
- Creating an XPath
- JavaScript Locator Support
- Label Locator Strategies
- Maintaining Page Objects
- Mapping Non-Salesforce fields
- Page Object Operations
- ProvarX™
- Refresh and Reselect Field Locators in Test Builder
- Using Java Method Annotations for Custom Objects
- Applications Testing
- Provar Manager
- How to Use Provar Manager
- Provar Manager Setup
- Provar Manager Integrations
- Release Management
- Test Management
- Test Operations
- Provar Manager and Provar Automation
- Setting Up a Connection to Provar Manager
- Object Mapping Between Automation and Manager
- How to Upload Test Plans, Test Plan Folders, Test Plan Instances, and Test Cases
- Provar Manager Filters
- Uploading Callable Test Cases in Provar Manager
- Uploading Test Steps in Provar Manager
- How to Know if a File in Automation is Linked in Test Manager
- Test Execution Reporting
- Metadata Coverage with Manager
- Provar Grid
- DevOps
- Introduction to Provar DevOps
- Introduction to Test Scheduling
- Apache Ant
- Configuration for Sending Emails via the Automation Command Line Interface
- Continuous Integration
- AutoRABIT Salesforce DevOps in Provar Test
- Azure DevOps
- Running a Provar CI Task in Azure DevOps Pipelines
- Configuring the Automation secrets password in Microsoft Azure Pipelines
- Parallel Execution in Microsoft Azure Pipelines using Multiple build.xml Files
- Parallel Execution in Microsoft Azure Pipelines using Targets
- Parallel execution in Microsoft Azure Pipelines using Test Plans
- Bitbucket Pipelines
- CircleCI
- Copado
- Docker
- Flosum
- Gearset
- GitHub Actions
- Integrating GitHub Actions CI to Run Automation CI Task
- Remote Trigger in GitHub Actions
- Parameterization using Environment Variables in GitHub Actions
- Parallel Execution in GitHub Actions using Multiple build.xml Files
- Parallel Execution in GitHub Actions using Targets
- Parallel Execution in GitHub Actions using Test Plan
- Parallel Execution in GitHub Actions using Job Matrix
- GitLab Continuous Integration
- Travis CI
- Jenkins
- Execution Environment Security Configuration
- Provar Jenkins Plugin
- Parallel Execution
- Running Provar on Linux
- Reporting
- Salesforce DX
- Git
- Version Control
- Masking Provar Credentials on CI
- Salesforce Testing
- Best Practices
- Salesforce Connection Best Practices
- Improve Your Metadata Performance
- Testing Best Practices
- Automation Planning
- Supported Testing Phases
- Provar Naming Standards
- Test Case Design
- Create records via API
- Avoid using static values
- Abort Unused Test Sessions/Runs
- Avoid Metadata performance issues
- Increase auto-retry waits for steps using a global variable
- Create different page objects for different pages
- The Best Ways to Change Callable Test Case Locations
- Working with the .testProject file and .secrets file
- Best practices for the .provarCaches folder
- Best practices for .pageObject files
- Troubleshooting
- How to Use Keytool Command for Importing Certificates
- Browsers
- Configurations and Permissions
- Connections
- DevOps
- Error Messages
- Provar Manager 3.0 Install Error Resolution
- Provar Manager Test Case Upload Resolution
- Administrator has Blocked Access to Client
- JavascriptException: Javascript Error
- macOS Big Sur Upgrade
- Resolving Failed to Create ChromeDriver Error
- Resolving Jenkins License Missing Error
- Resolving Metadata Timeout Errors
- Test Execution Fails – Firefox Not Installed
- Selenium 4 Upgrade
- Licensing, Installation and Firewalls
- Memory
- Test Builder and Test Cases
- Release Notes