</>

Technology

Postman

Difficulty

Intermediate

Interview Question

How do you handle dynamic values in API testing with Postman?

Answer

Handling Dynamic Values in Postman

Method 1: Built-in Dynamic Variables

Postman provides built-in dynamic variables that generate values at runtime:

CODE
{{$randomFirstName}}     → John
{{$randomLastName}}      → Doe
{{$randomEmail}}         → john.doe@example.com
{{$randomInt}}           → 472
{{$randomUUID}}          → a3d5-4c8b-9f1e-...
{{$timestamp}}           → 1718871234
{{$isoTimestamp}}        → 2026-06-20T10:00:00Z
{{$randomPhoneNumber}}   → +1-800-555-0101

Usage in Body:

JSON
{
    "name": "{{$randomFirstName}} {{$randomLastName}}",
    "email": "{{$randomEmail}}",
    "phone": "{{$randomPhoneNumber}}"
}

Method 2: Pre-request Script for Custom Dynamic Data

JavaScript
// Generate unique username
const username = "user_" + Date.now();
pm.environment.set("dynamic_username", username);

// Generate unique email
const email = `test_${Math.floor(Math.random() * 10000)}@example.com`;
pm.environment.set("dynamic_email", email);

// Generate future date
const futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 30);
pm.environment.set("expiry_date", futureDate.toISOString().split("T")[0]);
Body uses: "email": "{{dynamic_email}}"

Method 3: Extract and Chain

JavaScript
// After POST /users — save created user ID
const jsonData = pm.response.json();
pm.environment.set("created_user_id", jsonData.id);

// Next request: GET /users/{{created_user_id}}

Method 4: Data Files (for Bulk Dynamic Testing)

users.json:

JSON
[
    { "name": "Alice", "email": "alice@test.com" },
    { "name": "Bob",   "email": "bob@test.com" }
]

In Collection Runner, load the file — each row drives one iteration.

Best Practices

  • Use {{$randomUUID}} for unique identifiers to avoid conflicts
  • Always store dynamic values in environment variables for chaining
  • Clean up created test data (run DELETE at end of collection)

Follow AutomateQA

Related Topics