Data Source Execution Behavior

After uploading a Data Source and successfully binding its columns to your test steps using the {{@filename.columnName}} syntax, you are ready to execute your test case.

Unlike complex testing frameworks that require you to manually build intricate iteration loops or draft YAML configuration files, Robonito simplifies data-driven testing by automatically handling the strategy under the hood during execution.


The Default Strategy: Randomized Fetching

Currently, Robonito applies a streamlined Randomized Execution Strategy by default when processing any bound Data Source variables during a standard test run.

How It Works

When a test case is executed (either manually via the Test Explorer or through a CI/CD pipeline hook), the runtime engine performs the following actions:

  1. Test Initialization: Robonito safely boots the isolated testing browser (Chromium or Firefox).
  2. Memory Loading: It securely loads the bound data sources containing your hundreds or thousands of rows into active memory.
  3. Random Row Selection: For each execution of the test case, Robonito's engine intrinsically picks a randomized row from the dataset.
  4. Value Injection: When the timeline hits your parameterized step, the engine dynamically injects exactly the corresponding column values from that randomized row into the UI.

Why Randomized Fetching?

Robonito utilizes Randomized Execution by default because it mathematically guarantees better edge-case discovery.

By randomly fetching rows across thousands of test runs rather than repeatedly hitting the first few sequential rows, your test suite essentially simulates chaotic, real-world user behavior. This immediately exposes frontend validation errors and backend logic flaws that sequential testing often misses.


Executing the Test

To actively execute your parameterized test:

  1. Navigate to the Test Explorer.
  2. Click the Execute button globally or select a specific Execution Config (e.g., your custom Google Chrome setup).
  3. The test will automatically begin, and you can observe your {{@...}} variables being dynamically replaced with live, randomized data from your uploads in real-time.

See also: Upload a Data Source | Apply Data Source to Steps | Execution Reports