Collections & Variables

Overload uses Postman Collections natively. Learn how the parser works and how to harness the power of dynamic variables.

Postman Collection Support

Overload's parser is designed to read Postman Collections directly. It supports both v2.0.0 and v2.1.0 schema versions. When reading a collection, Overload intelligently flattens nested folder structures while preserving the folder path and inheriting authentication from parent folders.

Supported Features:

Exporting from Postman

To use your API requests in Overload, you need to export them from the Postman app:

  1. Open the Postman app.
  2. Find your collection in the sidebar.
  3. Click the three dots (...) next to the collection name.
  4. Select Export.
  5. Choose Collection v2.1 (this is required).
  6. Click Export and save the .json file to your working directory.

Variable System

Variables allow you to reuse values across your requests and inject dynamic data. Variables use the {{variable_name}} syntax.

Three-Scope Resolution Priority:

When Overload resolves a variable, it checks scopes in the following order of priority (highest first):

  1. Runtime Overrides: Variables passed via the CLI (--var).
  2. Environment File: Variables loaded from a Postman environment file.
  3. Collection Variables: Variables defined within the collection itself.

Recursive Resolution: If a resolved variable value contains another variable (e.g., {{base_url}}/api), Overload will recursively resolve it.

Dynamic Variables

Overload supports Postman's dynamic variables, allowing you to generate random data on the fly. This is essential for load testing to prevent cache hits and simulate real-world variance.

VariableOutput DescriptionExample Output
{{$randomInt}}Random integer between 0 and 1000402
{{$timestamp}}Current Unix timestamp (seconds)1717081523
{{$guid}}A random UUID v4 stringc0f3d4c6-...
{{$randomBoolean}}"true" or "false" string"true"
{{$randomColor}}A random CSS color name"purple"
{{$randomFirstName}}A random first name"Alice"
{{$randomEmail}}A random email address"user123@example.com"

Environment Files

You can manage variables using Postman Environment files. Export an environment from Postman just like you export a collection.

Load the environment file via the CLI:

overload run --collection api.json --environment dev_env.json

Note: Overload only loads variables that are marked as "enabled" in the environment file.

Runtime Variable Overrides

The most powerful way to control your tests is via runtime variable overrides. The --var flag has the highest priority and can override both collection and environment variables.

overload run --collection api.json \
  --var base_url=https://staging.api.com \
  --var api_key=secret_123

This approach is highly recommended for CI/CD pipelines, allowing you to inject secrets without storing them in files.

Variable Resolution in Requests

Overload resolves variables in almost every part of the HTTP request: