Data Driven Tests
Data-Driven Testing is a common extension of any kind of automated test, and Relicx provides the capability to execute tests with parameterised datasets, and to execute multiple iterations of the testing with different pieces of data
Providing data sets for a test suite
To iterate a set of tests for different combinations or instances of data, we can provide Relicx with a file that specifies what values each Parameter should take with each “Iteration”. Relicx will then run the suite of tests multiple times, once for each instance of data
Below is an example of of the JSON file we would upload to drive the testing in Relicx:
- “Iteration 1” & “Iteration 2” are labels we can define for our different iterations of data for reporting purposes, within each object we define the data for that suite test run
- "ACCOUNT_TYPE", "DEPOSIT_AMOUNT", "EXPECTED_PAGE" etc. are the names of our parameters that we have been using in our suite, within the iteration objects you can see the values that will be executed. In this example we are running our suite twice, once with a “FORM_ACTION” of “reset” and once with a value of “submit”
- “All” refers to the scope of our data: it refers to all of the tests in our suite. This means we will run All of our tests with the following iterations/data
- If we need our individual tests to use different data values from one another, we can declare them separately by using their IDs instead of “all” like so:
Here we can see that we can have different iterations, and different data within them, per test in the suite.
Running a data driven suite
When we execute a suite, we are offered a button to upload the JSON file that drives our data-driving, Relicx will then execute according to the file.
Data driven test results
When our test suite has finished executing, the report will display each of the test iterations separately so you can view them each as their own test report
If you click through to one of them you will see a regular test report, you can always view the parameters tab to understand the values used in a particular iteration