Bird
Raised Fist0
Postmantesting~20 mins

Local variables in Postman - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Local Variables Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Postman test script?
Consider the following Postman test script that uses local variables. What will be the value of the variable result after execution?
Postman
pm.test("Check local variable scope", function () {
    let result = 0;
    if (true) {
        let result = 5;
    }
    pm.expect(result).to.eql(0);
});
ATest passes because <code>result</code> is 5
BTest fails because <code>result</code> is 5
CTest fails with ReferenceError because <code>result</code> is undefined
DTest passes because <code>result</code> is 0
Attempts:
2 left
💡 Hint
Remember that let declares block-scoped variables.
❓ assertion
intermediate
1:30remaining
Which assertion correctly tests a local variable in Postman?
You have a local variable statusCode set to pm.response.code. Which assertion correctly verifies it equals 200?
Apm.expect(statusCode).to.equal(200);
Bpm.expect(statusCode).to.be(200);
Cpm.expect(statusCode == 200).to.be.true;
Dpm.expect(pm.response.code).to.eql('200');
Attempts:
2 left
💡 Hint
Use the correct Chai assertion syntax for equality.
🔧 Debug
advanced
2:30remaining
Why does this Postman script fail to update the local variable?
Given this script, why does the count variable not increment as expected?
let count = 0;
pm.test('Increment count', () => {
  let count = count + 1;
  pm.expect(count).to.eql(1);
});
AThe assertion is incorrect; it should check for 0 instead of 1
BThe variable <code>count</code> is immutable and cannot be incremented
CThe inner <code>let count</code> shadows the outer variable, causing a ReferenceError on right side
DThe test passes because <code>count</code> is incremented correctly
Attempts:
2 left
💡 Hint
Consider variable shadowing and initialization order.
🧠 Conceptual
advanced
1:30remaining
What is the scope of local variables declared with let inside Postman test scripts?
Choose the best description of the scope of a variable declared with let inside a Postman test script function.
AThe variable is scoped only within the block or function where it is declared
BThe variable is globally accessible throughout all requests and tests
CThe variable is accessible only within the Postman environment variables
DThe variable is accessible across all collections and environments automatically
Attempts:
2 left
💡 Hint
Think about JavaScript block scoping rules.
❓ framework
expert
3:00remaining
How to correctly use local variables to share data between multiple Postman tests in the same request?
You want to share a local variable token between multiple pm.test blocks in the same Postman request script. Which approach works best?
ADeclare <code>let token</code> inside each <code>pm.test</code> block separately
BDeclare <code>let token = pm.response.json().token;</code> once outside all <code>pm.test</code> blocks, then use <code>token</code> inside each test
CUse <code>pm.variables.set('token', ...)</code> to set a global variable accessible in all tests
DDeclare <code>var token</code> inside the first <code>pm.test</code> block and access it in others
Attempts:
2 left
💡 Hint
Local variables declared outside test blocks can be shared inside them.

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

  1. Step 1: Understand local variable scope

    Local variables exist only during the execution of one request and are not saved beyond that.
  2. Step 2: Compare with other variable types

    Global or environment variables persist beyond one request, unlike local variables.
  3. Final Answer:

    To store data only during a single request execution -> Option D
  4. 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

  1. Step 1: Identify the correct method for local variables

    Local variables use pm.variables.set to assign values.
  2. 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.
  3. Final Answer:

    pm.variables.set('token', 'abc123'); -> Option C
  4. 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
  • Trying to use pm.local.set which does not exist
  • Confusing global and local variable methods
3. Consider this Postman test script:
pm.variables.set('count', 5);
pm.variables.set('count', pm.variables.get('count') + 3);
console.log(pm.variables.get('count'));

What will be printed in the console?
medium
A. 8
B. 5
C. Error: Cannot add number to undefined
D. null

Solution

  1. Step 1: Set initial local variable 'count'

    The first line sets 'count' to 5.
  2. Step 2: Increment 'count' by 3

    The second line gets 'count' (5), adds 3, and sets it back to 8.
  3. Step 3: Output the updated value

    The console.log prints the current value of 'count', which is 8.
  4. Final Answer:

    8 -> Option A
  5. Quick Check:

    5 + 3 = 8 [OK]
Hint: Get then set to update local variable value [OK]
Common Mistakes:
  • Assuming the variable does not update
  • Expecting an error due to type mismatch
  • Confusing local with environment variables
4. You wrote this Postman script:
pm.variables.set('user', 'Alice');
console.log(pm.variables.get('username'));

What is the problem here?
medium
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

  1. Step 1: Check variable names used

    The script sets 'user' but tries to get 'username', which was never set.
  2. Step 2: Understand get behavior for unset variables

    Getting an unset local variable returns undefined, no error occurs.
  3. Final Answer:

    Variable 'username' was never set, so get returns undefined -> Option A
  4. 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

  1. 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.
  2. Step 2: Verify correct get method usage

    Use pm.variables.get to retrieve the local variable value within the same request.
  3. 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.
  4. Final Answer:

    Set the token once with pm.variables.set('token', 'abc') and get it in tests with pm.variables.get('token') -> Option B
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard