List and table testing
Provar handles lists and tables in much the same way. For all standard Salesforce elements, such as list views and related lists, Provar will automatically recognize the element as a table and will map it accordingly.
Once mapped, Provar provides two methods of locating information in tables. The first is a WHERE option, which lets you search for a specific record based on defined criteria (e.g. a Case where Case Number = 00001544). The second is a ROW NUMBER option, which lets you select a record based on its row position in the table (e.g. a Case which is result number 1, the first row in a list). See below for examples of both in use.
Testing in a list view
Navigate to the list view and open it:
Note that your column headers and row details may differ from the screenshot above. Right-click on the hyperlinked Name/Number of one of rows in the list (in this example, the Case Number of a Case) and select ‘Add to Test Case’.
When the Test Builder loads this Test Step it will look something like this.
Note that the list view has detected automatically.
Note that it is not necessary to add Test Steps to navigate to this list view. Provar will navigate there automatically, in the same way that it can navigate to Tabs. By default, however, this auto-navigation only applies to the first screen of a Test Case. Navigations to later screens are assumed to be driven through the Test Steps, unless specified otherwise.
Locating rows in a list view with Row Number
In the Test Builder there are two types of row location: this first option is the WHERE option, where a record is located by defined criteria. In the example above, the WHERE has been populated automatically based on the row mapped.
The other option is to use ROW NUMBER to locate a record based on its position in the list.
In Test Builder on the draft Test Step, click the Where option to toggle it to Row Number.
After selecting Row Number, the Row Locator section will be reduced to a single line, with 1 prefilled.
This means that the first record in the list view will be selected. Amend this as preferred then click Add & Do.
Locating rows in a related list with WHERE
This examples shows locating a specific record in a related list using a WHERE clause.
Navigate to the related list (in this example, the Activity History on a Case).
Right-click on a hyperlinked record Name/Number and click Add to Test Case:
The Test Builder will add a draft Test Step such as this one.
Note that the Test Builder has prefilled the WHERE instruction with information from the cell mapped (in this example, the Activity Subject field). This can be overwritten with any search term. Note that a combination of search terms could also be used.
Add your own search term(s) then click ‘Add & Do’.
Note that a variable can also be used as a search term.
In this example, the WHERE will use an ActivitySubject Variable whose value was set earlier in the test.
To set a variable, click Add instead of Add & Do, then navigate back to Provar Desktop:
On the With Row, find the Row Locator field and replace the static search term with a variable.
Then click Save to complete the Test Case.
You can then navigate back to the Test Builder to test this final step, or re-run the Test Case from the beginning.
If you have added the Variable successfully, the Test Step will navigate you to the record detail page of the Activity you just created.
List view pagination
When searching for a record using a WHERE clause in a list view, it is recommended to use Provar’s auto paginate option to search through all the results. This instructs Provar to page through the list view results automatically until a record matching the criteria is found.
You will find ‘Auto Paginate’ on your With Row Test Step, under Options:
How to use Equals, Contains, Starts With, Ends With in WithRow
This topic deals with the usage of different functions like Equals, Contains, Starts With and Ends With inside WithRow.
Available functions:
- Equals
- Contains
- Starts With
- Ends With
In this example, the Account Name is Testing similar to the screenshot above.
Equals: You can use the Equals function using the “=” operator. Provar checks for the string which has the same name as the specified string.
Syntax: {Name = “value“}
Contains: You can use the Contains function using the “~“ symbol. Provar checks for the string which contains the specified string.
Syntax: {Name ~ “.*value.*“}
Starts With: You can use the Starts With function using the “~“ symbol. Provar checks for the string which starts with the specified string.
Syntax: {Name = “Tes.*“}
Ends With: You can use the Ends With function using the “~“ symbol. Provar checks for the string which ends with the specified string.
Syntax: {Name = “.*ing“}
You can add the same value in variable if you are using variable.
Variable
Use in list
- General information
- 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
- 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
- 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
- Release notes