Bird
Raised Fist0
Postmantesting~10 mins

Saving responses in Postman - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test sends a GET request to an API endpoint and saves the response body into a Postman environment variable. It then verifies that the response status is 200 and that the saved response matches the actual response.

Test Code - Postman
Postman
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("Save response body to environment variable", function () {
    let responseBody = pm.response.text();
    pm.environment.set("savedResponse", responseBody);
    pm.expect(pm.environment.get("savedResponse")).to.eql(responseBody);
});
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Send GET request to the API endpointPostman sends the request and waits for response—PASS
2Check that response status code is 200Response received with status code 200Verify pm.response.to.have.status(200)PASS
3Extract response body as textResponse body is available as string—PASS
4Save response body to environment variable 'savedResponse'Environment variable 'savedResponse' is set with response text—PASS
5Verify saved environment variable matches response bodyEnvironment variable value equals response body textpm.expect(pm.environment.get('savedResponse')).to.eql(responseBody)PASS
Failure Scenario
Failing Condition: Response status is not 200 or environment variable is not set correctly
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify first after sending the request?
AThat the response body is empty
BThat the environment variable is deleted
CThat the response status code is 200
DThat the request method is POST
Key Result
Always verify the response status before saving data, and confirm saved variables match the actual response to avoid false positives.

Practice

(1/5)
1. What is the main purpose of saving responses in Postman?
easy
A. To speed up the API server
B. To delete old API requests automatically
C. To keep track of API outputs for later use
D. To change the API endpoint URL

Solution

  1. Step 1: Understand the role of saving responses

    Saving responses allows testers to keep the output data from API calls for future reference or validation.
  2. Step 2: Identify the correct purpose

    Among the options, only keeping track of API outputs matches the purpose of saving responses.
  3. Final Answer:

    To keep track of API outputs for later use -> Option C
  4. Quick Check:

    Saving responses = keep API outputs [OK]
Hint: Saving responses means storing API outputs for reuse [OK]
Common Mistakes:
  • Confusing saving responses with deleting requests
  • Thinking it speeds up the server
  • Assuming it changes API URLs
2. Which Postman script command is used to save a value from a response into an environment variable?
easy
A. pm.response.save()
B. pm.environment.set()
C. pm.request.store()
D. pm.variable.get()

Solution

  1. Step 1: Recall Postman scripting commands

    To save data into environment variables, Postman uses the command pm.environment.set(variableName, value).
  2. Step 2: Match the command to the options

    Only pm.environment.set() correctly saves a value into an environment variable.
  3. Final Answer:

    pm.environment.set() -> Option B
  4. Quick Check:

    Save to environment = pm.environment.set() [OK]
Hint: Use pm.environment.set() to save response data [OK]
Common Mistakes:
  • Using pm.response.save() which does not exist
  • Confusing get() with set()
  • Trying to save with pm.request.store() which is invalid
3. Given this Postman test script, what will be the value saved in the environment variable 'userId' if the response JSON is {"id": 42, "name": "Alice"}?
let jsonData = pm.response.json();
pm.environment.set('userId', jsonData.id);
medium
A. 42
B. null
C. undefined
D. "Alice"

Solution

  1. Step 1: Parse the response JSON

    The response JSON has an "id" field with value 42 and a "name" field with "Alice".
  2. Step 2: Check the script saving the value

    The script saves jsonData.id into 'userId', so it saves 42.
  3. Final Answer:

    42 -> Option A
  4. Quick Check:

    jsonData.id = 42 [OK]
Hint: jsonData.id saves the number 42 from response [OK]
Common Mistakes:
  • Saving the name instead of id
  • Assuming undefined if JSON parsing fails
  • Confusing string and number values
4. You wrote this test script to save a token from response but it does not save correctly:
let jsonData = pm.response.json();
pm.environment.set('token', jsonData.token);
What is a likely reason the token is not saved?
medium
A. The response does not contain a 'token' field
B. pm.environment.set() is not a valid function
C. You must use pm.response.save() instead
D. The variable name 'token' is reserved

Solution

  1. Step 1: Check the response JSON fields

    If the response JSON does not have a 'token' field, jsonData.token will be undefined.
  2. Step 2: Understand saving undefined values

    Saving undefined means the environment variable 'token' will not be set correctly.
  3. Final Answer:

    The response does not contain a 'token' field -> Option A
  4. Quick Check:

    Missing field = no saved value [OK]
Hint: Check response fields before saving variables [OK]
Common Mistakes:
  • Thinking pm.environment.set() is invalid
  • Using non-existent pm.response.save()
  • Assuming variable names are reserved
5. You want to save the 'sessionId' from a nested JSON response:
{
  "user": {
    "id": 10,
    "session": {
      "sessionId": "abc123"
    }
  }
}
Which script correctly saves 'sessionId' into an environment variable?
hard
A. let jsonData = pm.response.json(); pm.environment.set('sessionId', jsonData.user.session['id']);
B. let jsonData = pm.response.json(); pm.environment.set('sessionId', jsonData.sessionId);
C. let jsonData = pm.response.json(); pm.environment.set('sessionId', jsonData.user.sessionId);
D. let jsonData = pm.response.json(); pm.environment.set('sessionId', jsonData.user.session.sessionId);

Solution

  1. Step 1: Analyze the JSON structure

    The 'sessionId' is inside user > session > sessionId.
  2. Step 2: Match the correct path in script

    Only jsonData.user.session.sessionId correctly accesses the nested 'sessionId'.
  3. Final Answer:

    let jsonData = pm.response.json(); pm.environment.set('sessionId', jsonData.user.session.sessionId); -> Option D
  4. Quick Check:

    Nested access = jsonData.user.session.sessionId [OK]
Hint: Use full path for nested JSON fields [OK]
Common Mistakes:
  • Accessing sessionId directly from jsonData
  • Using wrong nested keys
  • Confusing sessionId with user id
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