Test Data Management
Reliable tests need realistic, varied data. Hard-coded values lead to false passes, flaky runs, and tests that only prove one specific input works. BlinqIO treats test data as a first-class concern: every value you type during recording is automatically captured as a parameter, and you have multiple ways to make that data dynamic so your tests cover real-world conditions.
How Data Is Captured
The AI Recorder automatically parameterizes the data you use while recording. Any value you enter: usernames, passwords, form inputs, search terms: is extracted and saved as a reusable parameter.
For example, if you log in during recording, the recorder captures the exact username and password you typed and creates named parameters for them without any extra steps from you.
Making Data Dynamic
Static parameters are a good start, but production-quality tests need data that changes between runs. BlinqIO supports several approaches:
| Approach | When to use it |
|---|---|
| Faker.js values | Generate realistic random data: names, emails, phone numbers, prices |
| API response values | Extract and reuse data returned by an earlier API step |
| Advanced expressions | Perform calculations, format dates, or apply conditional logic at runtime |
Multiple Test Data Sets
When you need to run the same scenario with different inputs, use the Gherkin Scenario Outline with an Examples table. Each row in the table triggers a separate execution with its own data set, so you test multiple paths without duplicating steps.
gherkin
Scenario Outline: Login with different credentials
Given I navigate to the login page
When I enter "<username>" and "<password>"
Then I should see the "<expected>" page
Examples:
| username | password | expected |
| admin | admin123 | Dashboard |
| viewer | view456 | Home |NOTE
Running multiple data sets via Scenario Outline with Examples is available in the Gherkin file. It is not supported directly through the AI Recorder UI.
Project-Level Test Data
For values you reuse across many tests: login credentials, API keys, environment-specific URLs: define them once at the project level.
- Navigate to Test Data in the left sidebar.
- Click Add Test Data.
- Fill in the fields:
| Field | Description |
|---|---|
| Key | A descriptive name (e.g., admin_username) |
| Value | The data value |
| Data Type | String, Secret (masked in logs and UI), or TOTP (auto-generates time-based codes) |
| Environment | Which environment(s) this value applies to |
Project-level test data is available to every test in the project. When a value is marked as Secret, it is encrypted at rest and masked in execution logs and reports.
Using Project Test Data in the Recorder
While recording, you can pull in project-level values instead of typing them manually:
- Expand the Test Data panel at the bottom of the Recorder.
- Find the value you need.
- Copy it and paste it into the application field you are interacting with.
This keeps sensitive data out of your recordings and ensures every test uses the same source of truth.
Extracting Values from Elements
Sometimes the data you need lives inside the application itself: a generated order number, a confirmation code, a calculated total. You can extract these values during recording and reuse them in later steps.
- Click the element containing the value you want to capture.
- Choose the property to extract (text content, an HTML attribute, or a data attribute).
- Enter a variable name for the extracted value.
- Use that variable in subsequent input fields or assertions.
For more details, see the dedicated guides:
- Dynamic data generation: Faker.js, dates, expressions, TOTP
- API response data: Using API responses and element extraction
