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:

  1. Detects that the test case uses a data source.
  2. Loads the uploaded file.
  3. Randomly picks one row.
  4. Substitutes {{@FileName.ColumnName}} expressions with the row's values.
  5. Runs the test with those substituted values.
  6. 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

ErrorCauseFix
Column not found: {{@file.col}}The column name has been renamed or deletedUpdate the data source reference in the step
Data source not found: {{@file}}The file was deleted from data sourcesRe-upload the file with the same name
Data source is emptyThe file has zero data rowsAdd at least one row to the file
Step value is blankThe referenced column exists but the selected row has an empty cellEnsure all data rows have values in referenced columns