Bird
Raised Fist0
Postmantesting~10 mins

Global variables in Postman - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test verifies that a global variable in Postman is set correctly and can be accessed in a subsequent request. It checks that the variable value matches the expected string.

Test Code - Postman Sandbox
Postman
pm.test("Set and verify global variable", function () {
    pm.globals.set("userToken", "abc123token");
    const token = pm.globals.get("userToken");
    pm.expect(token).to.eql("abc123token");
});
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Test script starts execution in Postman SandboxPostman test environment ready to run script—PASS
2Set global variable 'userToken' to 'abc123token' using pm.globals.setGlobal variables now include userToken = 'abc123token'—PASS
3Retrieve global variable 'userToken' using pm.globals.getVariable 'token' assigned value 'abc123token'—PASS
4Assert that retrieved token equals 'abc123token' using pm.expectAssertion compares 'abc123token' to 'abc123token'pm.expect(token).to.eql('abc123token')PASS
5Test script completes successfullyTest result recorded as pass—PASS
Failure Scenario
Failing Condition: Global variable 'userToken' is not set or has a different value
Execution Trace Quiz - 3 Questions
Test your understanding
What does pm.globals.set("userToken", "abc123token") do in the test?
ARetrieves the global variable 'userToken'
BStores the value 'abc123token' as a global variable named 'userToken'
CDeletes the global variable 'userToken'
DRuns an HTTP request with 'userToken' as a header
Key Result
Always verify that global variables are set before accessing them to avoid undefined values causing test failures.

Practice

(1/5)
1. What is the main purpose of global variables in Postman?
easy
A. To store data accessible across all requests and tests
B. To store data only for the current request
C. To create temporary variables that disappear after one test
D. To define environment-specific settings

Solution

  1. Step 1: Understand global variable scope

    Global variables in Postman are accessible everywhere, across all requests and tests.
  2. Step 2: Compare with other variable types

    Unlike environment or local variables, global variables persist and are shared globally.
  3. Final Answer:

    To store data accessible across all requests and tests -> Option A
  4. Quick Check:

    Global variables = accessible everywhere [OK]
Hint: Global variables are shared everywhere in Postman [OK]
Common Mistakes:
  • Confusing global variables with environment variables
  • Thinking global variables are temporary
  • Assuming global variables are request-specific
2. Which of the following is the correct syntax to set a global variable named token with value abc123 in Postman?
easy
A. pm.globals.add('token', 'abc123');
B. pm.global.set('token', 'abc123');
C. pm.globals.set('token', 'abc123');
D. pm.globalVariables.set('token', 'abc123');

Solution

  1. Step 1: Recall correct Postman global variable syntax

    The correct method to set a global variable is pm.globals.set(key, value).
  2. Step 2: Identify the correct object and method

    Only pm.globals.set('token', 'abc123'); uses pm.globals.set correctly with proper quotes and parameters.
  3. Final Answer:

    pm.globals.set('token', 'abc123'); -> Option C
  4. Quick Check:

    Use pm.globals.set to set global variables [OK]
Hint: Use pm.globals.set('key', 'value') to set globals [OK]
Common Mistakes:
  • Using pm.global instead of pm.globals
  • Using .add instead of .set method
  • Incorrect object names like pm.globalVariables
3. Consider this Postman test script:
pm.globals.set('userId', '42');
const id = pm.globals.get('userId');
console.log(id);

What will be printed in the Postman console?
medium
A. undefined
B. 42
C. userId
D. null

Solution

  1. Step 1: Set global variable 'userId' to '42'

    The first line stores the string '42' in the global variable named 'userId'.
  2. Step 2: Retrieve and log the global variable

    The second line gets the value of 'userId' which is '42', then logs it.
  3. Final Answer:

    42 -> Option B
  4. Quick Check:

    pm.globals.get('userId') returns '42' [OK]
Hint: pm.globals.get returns the stored value [OK]
Common Mistakes:
  • Expecting variable name instead of value
  • Confusing undefined with null
  • Forgetting to set the variable before getting
4. You wrote this Postman script to set a global variable:
pm.globals.set(userId, '100');

But it throws an error. What is the problem?
medium
A. The variable name userId should be a string in quotes
B. pm.globals.set cannot set numeric values
C. pm.globals.set requires three arguments
D. Global variables cannot be set inside scripts

Solution

  1. Step 1: Check the syntax of pm.globals.set

    The first argument must be a string key, so it should be quoted like 'userId'.
  2. Step 2: Identify the error cause

    Without quotes, userId is treated as an undefined variable causing an error.
  3. Final Answer:

    The variable name userId should be a string in quotes -> Option A
  4. Quick Check:

    Keys must be strings in pm.globals.set [OK]
Hint: Always quote variable names in pm.globals.set [OK]
Common Mistakes:
  • Not quoting the key name
  • Thinking pm.globals.set needs more arguments
  • Believing global variables can't be set in scripts
5. You want to share a session token between multiple requests in Postman using global variables. Which sequence correctly sets and retrieves the token?
// Request 1
pm.globals.set('sessionToken', 'xyz789');

// Request 2
const token = pm.globals.get('sessionToken');
console.log(token);
hard
A. You must use environment variables instead of global variables
B. You need to pass the token as a parameter, not use globals
C. pm.globals.get cannot retrieve variables set in other requests
D. This sequence correctly shares the token globally

Solution

  1. Step 1: Set global variable in first request

    The first request sets 'sessionToken' globally using pm.globals.set.
  2. Step 2: Retrieve global variable in second request

    The second request gets the same 'sessionToken' using pm.globals.get and logs it.
  3. Final Answer:

    This sequence correctly shares the token globally -> Option D
  4. Quick Check:

    Global variables share data across requests [OK]
Hint: Set in one request, get in another using pm.globals [OK]
Common Mistakes:
  • Thinking globals can't share data between requests
  • Confusing environment and global variables
  • Trying to pass token manually instead of using variables
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