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 a search criteria. It is often used on strings that are a result of 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 be used 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 such as 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 which 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 gives an example of 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 so that the original Account reference is replaced with the Account ID ‘0019000001TXZoD‘.
Step 6: A new email is sent with the modified email body containing the simplified Account ID.
- General Information
- About Provar
- Browser and driver recommendations
- Granting org permissions to Provar
- Installing Provar Automation
- Provar Success Portal
- Recent support article improvements
- Reintroduction of CLI license Check
- System requirements
- Updating Provar Automation
- Using hash functions to verify the security of Provar files
- Licensing Provar
- Provar trial guide and extensions
- Using Provar
- API testing
- Behavior-driven development
- 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
- Override auto-retry for Test Step
- Managing test steps
- Namespace org testing
- NitroX
- Provar desktop
- Provar Test Builder
- Refresh and Recompile
- 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
- DevOps
- Introduction to test scheduling
- Apache Ant
- Configuration for Sending Emails via the Provar Command Line Interface
- Continuous integration
- AutoRABIT Salesforce DevOps in Provar Test
- Azure DevOps
- Running a Provar CI Task in Azure DevOps Pipelines
- Configuring the Provar 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 DevOps CI/CD
- GitHub Actions
- Integrating GitHub Actions CI to Run Provar 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
- Team foundation server
- Version control
- Salesforce testing
- Adding a Salesforce connection
- Assert Page Error Messages on Add/Edit Product
- Dynamic Forms
- Internationalization support
- List and table testing
- Salesforce Release Updates
- Salesforce Lightning Testing
- Salesforce Lightning Web Component (LWC) locator support
- Salesforce console testing
- Visualforce Testing
- Connection Best Practices
- Performance Best Practices
- Testing Best Practices
- Troubleshooting
- Browsers
- Configurations and permissions
- Connections
- DevOps
- Error messages
- 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
- Update to Opportunity field validation behaviour
- Licensing, installation and firewalls
- Memory
- Test Builder and test cases
- Provar AArch64 Mac Installer
- Release notes