Configure a Test Case for Data Source
Once you have uploaded a data source → and applied column references to your test steps →, you need to configure how the test case uses the data. This page explains execution behavior, configuration options, and best practices.
How Robonito Selects Rows
By default, Robonito selects a random row from the data source each time the test runs. This means:
- Each individual test execution uses one row.
- You cannot predict which row will be selected for a given run.
- Over multiple runs, different rows will be used.
This is intentional — it catches bugs that only appear with specific data values, rather than always testing the same row.
Note: Sequential or ordered row execution (running the test once per row) is not currently supported automatically. To test all rows, create a schedule that runs the test case multiple times, or add multiple instances of the test case to a suite.
Running a Test Case with a Data Source
When you execute a test case that contains {{@FileName.ColumnName}} references, Robonito:
- Detects that the test case uses a data source.
- Loads the uploaded file.
- Randomly picks one row.
- Substitutes
{{@FileName.ColumnName}}expressions with the row's values. - Runs the test with those substituted values.
- Reports which row was used in the execution report.
Screenshot placeholder: [Screenshot of the execution report for a data-source-powered test, showing the row values that were used in that run]
Execution Report — What You'll See
In the execution detail view, each step that used a data source reference shows:
- The substituted value (e.g.,
email → test_user_3@example.com) - Which column the value came from
- Which row number was selected
This makes failures traceable — you can see exactly which input data caused the test to fail.
When the Data Source Changes
If you modify a data source file after binding it to a test case:
- Adding rows — new rows immediately become eligible for random selection on future runs.
- Removing columns — any test steps referencing a removed column will fail at runtime with an "expression not found" error. Update the test steps to remove or replace the broken references before running.
- Renaming columns — same as removing a column. The reference
{{@file.oldColumnName}}will fail until updated to{{@file.newColumnName}}. - Replacing the file — uploading a new file with the same name replaces the data. If column names change, update all test steps referencing the old columns.
Multi-Run Coverage Strategy
To cover all rows in a data source:
Option A — Suite with duplicate test cases Add the same test case to a suite multiple times (once per row you want to cover). Each execution instance picks a different random row. Not guaranteed to cover all rows, but increases coverage with each run.
Option B — Scheduled repetition Configure a schedule to run the test case daily. Over time, the random selection covers more rows.
Option C — Explicit per-row test cases Create one test case per data row, each with hardcoded values instead of data source references. More maintenance, but guaranteed coverage.
Common Errors
| Error | Cause | Fix |
|---|---|---|
Column not found: {{@file.col}} | The column name has been renamed or deleted | Update the data source reference in the step |
Data source not found: {{@file}} | The file was deleted from data sources | Re-upload the file with the same name |
Data source is empty | The file has zero data rows | Add at least one row to the file |
| Step value is blank | The referenced column exists but the selected row has an empty cell | Ensure all data rows have values in referenced columns |