Platform / Spec2RunAI / User guide / Data-driven testing with datasets

Spec2RunAI user guide · updated 22 October 2026

Data-driven testing with datasets

Run one test case once per row of a spreadsheet. Upload the workbook you already use — no template, no rework, no column mapping.

Why there is no mapping step Test Executor does not ask you to map spreadsheet columns to field locators before anything runs, because the engine already finds fields by their on-screen label — and your column headers are those labels. The matching happens at run time.

Uploading a dataset

  1. Go to Datasets and drop in your .xlsx. It is parsed in your browser; nothing is uploaded until you save.
  2. Review the Checks strip. Amber chips want a decision from you; gray ones are informational.
  3. Check the preview grid — it shows exactly what the engine will type, not just what is in the cell.
  4. Name it and Save dataset.

Tokens

Every column becomes a token you paste into a test step where the value goes:

Enter {{data:AccountCreation.FIRST NAME}} in the 'First Name' field

The quoted 'First Name' is still the on-screen label the engine looks for. Only the value becomes a token. Copy exact tokens from the preview grid using copy token.

A token names its own sheet, so a single test case can pull from several sheets in the same iteration — account details from one, policy dates from another.

Repeated headers

Where one sheet uses the same header twice — say STATE for both a search field and a mailing address — the later occurrence gets a ~2 suffix: {{data:AccountCreation.STATE~2}}. The Checks panel lists every one, because position is the only thing distinguishing them and you should confirm which is which.

Other rules

  • Matching ignores case, and leading, trailing or repeated spaces.
  • A column with no header is addressable by position: {{data:Offerings.col1}}.
  • To type a literal {{, escape it as {{{{.
  • Avoid wrapping a token in quotes — quoted text in a step is treated as an element label to find.

How values are typed

TypeBehavior
DatesFormatted as MM/dd/yyyy, never a raw timestamp.
ZIP / SSN / phoneZero-padded back to full width.
NumbersTyped as displayed, with thousands separators removed.
TextAs-is.
Leading zeros need your eye Excel stores 04567 as the number 4567 — the zero is gone from the file itself and cannot be recovered from it. Test Executor re-pads columns whose names look like ZIP, SSN or phone, and lists every one it changed in the Checks panel. Confirm those are right, and change the column type in the grid if not.

Sheet roles

Iteration sheetsChild collections
Row count matches the majorityRow count disagrees — three drivers across two policies
Row 1 drives iteration 1, row 2 drives iteration 2Not extra iterations — lists attached to one record
These determine how many times the test runsTheir tokens resolve to row 1 every time in this release

The classification is shown on each sheet tab and can be overridden with change.

Running with a dataset

On New Execution, pick your dataset under Data. The note tells you how many times each test case will run. Only test cases that actually contain a {{data: token are iterated — a token-free test case in the same selection runs once, not N times.

Each iteration gets its own verdict and its own evidence, and appears as TC-002#1, TC-002#2 and so on. A failing row does not stop the run. The detail page badges each one 📊 DATA DRIVEN · row 2 of 2 and states how many of its steps actually took values from the row — a quick way to spot a test case you only half-tokenized.

If a token cannot be resolved

The engine never types an unresolved token into your application. A step referencing a column that does not exist fails immediately, naming the token and suggesting the closest matches. Tokens are also validated when you bind a dataset, so a typo surfaces before the run starts rather than forty minutes into it.

Personal data Values are typed in full and appear in screenshots. Encryption at rest and redaction in logs and results are not yet in place — avoid production workbooks containing real personal data for now.
Try it on your own tests

Ten test cases. Untouched. We run them and send the evidence report.