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)
