Test data: one test, many rows
Attach a data table to a test and run it once per row, each row with its own result.
Test data turns one recording into many cases: valid and invalid logins, several products, different countries. You fill a table like a spreadsheet, the steps read their values from its columns, and the test runs once per row.
Create the table
- In the Action History header, click Data.
- Add columns — one per value that changes, e.g.
user,password,expected. Names use letters, digits and_, and can’t start with a digit (up to 40 columns). - Add one row per case and fill in the cells.
- Close the dialog. The DATA N badge in the header shows the number of rows.
- Import / Export CSV — work on the data in Excel or any spreadsheet. Both
;and,separators are recognized from the header line; exported files open correctly in Excel. - Empty rows are ignored.
- A cell can hold dynamic data or a secret, e.g.
{{email}}or{{secret:adminPassword}}. - Columns used in a password field are hidden in the table; Show passwords reveals them.
- Remove data deletes the table, and the test goes back to a single run.
Use the columns in the steps
On a step card, replace the recorded value with {{data:column}} — the { } menu lists the columns under Test data (row). The e.g. preview shows [row column]; an unknown column is flagged as Not resolved. Columns work in assertions too: an expected column can hold the message each case should show.
Running
- The test runs once per row. In the Runner each row is a separate result — Recorded QA flow — row 1, row 2, … — so you see at once which case fails.
- In In-App mode, every row after the first starts clean: cookies and stored data of the sites visited by the previous row are cleared (e.g. it doesn’t start already logged in). Row 1 starts from the browser as it is.
- Each row logs its values at the start; password columns are masked.
Manual Steps and Gherkin
Manual Steps refer to the “user” from the test data and list the table at the end. Gherkin becomes a Scenario Outline with "<user>" placeholders and an Examples table. Password cells show as ••••••.
Where the data is saved
The table is saved with the test as <name>.data.json (hidden in the Workspace) and comes back with Load into recorder. The data is also written into the test code itself, so the exported project doesn’t need that file.
Something unclear or missing? Write to info@actify-studio.com.