Relampo Studio represents a test as a Tree of visual components. Select a
component to review its details, or right-click the appropriate parent to add a
valid child component. The available choices depend on the selected location in
the Test Plan.
This page groups the components by purpose. For the full YAML syntax, see the
YAML Specification.
Structure and shared configuration
| Component | Purpose |
|---|
| Test Plan | The root of the file. It identifies the test and contains the global configuration and scenarios. |
| Variables | Defines reusable values. Reference a value anywhere supported with {{variable_name}}. |
| Data Source | Provides test data that a scenario or request can consume, such as values from a CSV file. |
| HTTP Defaults | Defines shared HTTP settings, such as a base URL, timeout, or headers, inherited by requests unless they override them. |
| Metrics | Configures the metrics collected while the test runs. |
Scenarios and load
| Component | Purpose |
|---|
| Scenario | An executable user flow. It contains its load configuration and ordered steps. |
| Load | Defines how the scenario runs: virtual users, duration, and the selected load model. Run uses this configuration for a visual execution. |
| Cookies | Controls cookie handling for the scenario, including automatic or manual management and persistence between iterations. |
| Cache Manager | Controls whether cached responses are used and when the cache is cleared. |
Requests and request data
| Component | Purpose |
|---|
| HTTP Request | Sends an HTTP request. Studio supports the generic request form and GET, POST, PUT, DELETE, PATCH, HEAD, and OPTIONS methods. |
| SQL Request | Executes a database request for supported PostgreSQL or MySQL flows. |
| Headers | Adds HTTP headers shared by a request or overrides inherited defaults. |
| Body and query parameters | Supplies the request payload and query-string values. They can use variables and values from a data source. |
| File Upload | Attaches a file to a request when the endpoint accepts uploaded content. |
Flow controllers
Controllers organize steps and decide how their children execute. They are added
inside a scenario or another compatible controller; they are not a replacement
for a request.
| Controller | Purpose |
|---|
| Group | Organizes related steps under a named container. |
| Transaction | Measures its child steps as one transaction while preserving their execution order. |
| Parallel | Runs child steps concurrently. |
| Balanced | Distributes execution across its compatible child items according to the configured balance. |
| If | Runs child steps only when its condition is met. |
| Loop | Repeats its child steps. |
| Retry | Repeats a child flow using its retry and backoff configuration. |
| One Time | Runs initialization steps once for the shared execution context. |
Pacing
| Component | Purpose |
|---|
| Think Time | Adds a pause between requests or steps to model a more realistic user rhythm. |
Response processing
These components belong to an HTTP request and work with its request or
response data.
| Component | Purpose |
|---|
| Spark Before | Runs custom logic before the request, for example to prepare data or variables. |
| Spark After | Runs custom logic after the response, for example to transform values or record additional information. |
| Extractor | Captures a dynamic value from a response, such as a token, ID, header, or text match, so later requests can reuse it. |
Validation and error handling
| Component | Purpose |
|---|
| Assertion | Validates the response. Use it to check status codes, content, headers, JSON paths, response time, and other expected results. |
| Error Policy | Defines what the execution does after an error. It can be set at the Test Plan, scenario, or request level and can handle 4xx responses, 5xx responses, and timeouts. |
How to work with components in Studio
- In Tree, select the component you want to review.
- Use the details panel to configure the fields available for that component.
- Right-click a component to add an allowed child; Studio offers only the
components that are valid in that position.
- Use Code to review the resulting canonical YAML, then use
Debug or Run to validate the flow.