Local variables store data temporarily during a single request in Postman. They help keep information handy without affecting other requests.
When you want to save a value to use later in the same request.
When you need to pass data between scripts within one request.
When you want to avoid changing global or environment variables accidentally.
When testing APIs that require temporary tokens or session IDs.
When you want to keep your tests clean and isolated.
Syntax
Postman
pm.variables.set("variableName", "value");
let value = pm.variables.get("variableName");
Local variables exist only during the request execution.
Use pm.variables.set to create or update, and pm.variables.get to read.
Examples
Sets a local variable userId and then reads it back to print.
Postman
pm.variables.set("userId", "12345");
let id = pm.variables.get("userId");
console.log(id);
Saves a token from the response JSON into a local variable for use in the same request.
Postman
pm.variables.set("token", pm.response.json().token);
let token = pm.variables.get("token");
Sample Program
This test saves a local variable and checks if it holds the correct value.
Postman
pm.test("Save and use local variable", function () {
pm.variables.set("tempValue", "hello");
let val = pm.variables.get("tempValue");
pm.expect(val).to.eql("hello");
});
OutputSuccess
Important Notes
Local variables do not persist after the request finishes.
They have higher priority than environment and global variables during the request.
Use local variables to avoid side effects on other requests or tests.
Summary
Local variables store data only during one request.
Use pm.variables.set and pm.variables.get to work with them.
They help keep tests clean and isolated.
Practice
(1/5)
1. What is the main purpose of local variables in Postman?
easy
A. To create global environment settings
B. To save data permanently across all requests
C. To share data between different collections
D. To store data only during a single request execution
Solution
Step 1: Understand local variable scope
Local variables exist only during the execution of one request and are not saved beyond that.
Step 2: Compare with other variable types
Global or environment variables persist beyond one request, unlike local variables.
Final Answer:
To store data only during a single request execution -> Option D
Quick Check:
Local variables = single request scope [OK]
Hint: Local variables last only during one request [OK]
Common Mistakes:
Confusing local variables with global variables
Thinking local variables persist across requests
Assuming local variables share data between collections
2. Which of the following is the correct syntax to set a local variable named token with value abc123 in Postman?
easy
A. pm.local.set('token', 'abc123');
B. pm.environment.set('token', 'abc123');
C. pm.variables.set('token', 'abc123');
D. pm.globals.set('token', 'abc123');
Solution
Step 1: Identify the correct method for local variables
Local variables use pm.variables.set to assign values.
Step 2: Check other options for correctness
pm.environment.set and pm.globals.set set environment and global variables, not local. pm.local.set is invalid.
Final Answer:
pm.variables.set('token', 'abc123'); -> Option C
Quick Check:
Set local variable = pm.variables.set [OK]
Hint: Use pm.variables.set() for local variables [OK]
Common Mistakes:
Using pm.environment.set instead of pm.variables.set
A. Variable 'username' was never set, so get returns undefined
B. Syntax error in pm.variables.set method
C. Local variables cannot be logged to console
D. pm.variables.get requires two arguments
Solution
Step 1: Check variable names used
The script sets 'user' but tries to get 'username', which was never set.
Step 2: Understand get behavior for unset variables
Getting an unset local variable returns undefined, no error occurs.
Final Answer:
Variable 'username' was never set, so get returns undefined -> Option A
Quick Check:
Unset variable get = undefined [OK]
Hint: Check variable names carefully for typos [OK]
Common Mistakes:
Assuming syntax error when variable name mismatches
Thinking pm.variables.get needs two arguments
Believing console.log cannot show local variables
5. You want to store a temporary token during a request and use it in multiple tests within that request. Which approach correctly uses local variables to achieve this?
hard
A. Set the token with pm.environment.set('token', 'abc') and get it with pm.variables.get('token')
B. Set the token once with pm.variables.set('token', 'abc') and get it in tests with pm.variables.get('token')
C. Set the token with pm.variables.set('token', 'abc') but cannot access it in other tests
D. Set the token with pm.globals.set('token', 'abc') and get it with pm.variables.get('token')
Solution
Step 1: Understand local variable scope within one request
Local variables set with pm.variables.set are accessible throughout the request execution, including multiple tests.
Step 2: Verify correct get method usage
Use pm.variables.get to retrieve the local variable value within the same request.
Step 3: Check other options for scope mismatch
Environment and global variables persist beyond one request and are not local. Also, local variables are accessible across tests in the same request.
Final Answer:
Set the token once with pm.variables.set('token', 'abc') and get it in tests with pm.variables.get('token') -> Option B
Quick Check:
Local variable set/get works within one request [OK]
Hint: Use pm.variables.set/get to share data within one request [OK]
Common Mistakes:
Using environment or global variables instead of local
Thinking local variables cannot be shared between tests in one request
Mixing set and get methods from different scopes
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.