Bird
Raised Fist0
Postmantesting~10 mins

JSON body in Postman - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test sends a POST request with a JSON body to an API endpoint and verifies the response status and content.

Test Code - PyTest
Postman
import requests
import json

def test_post_json_body():
    url = "https://api.example.com/users"
    headers = {"Content-Type": "application/json"}
    payload = {
        "name": "Alice",
        "email": "alice@example.com",
        "age": 30
    }
    response = requests.post(url, headers=headers, json=payload)
    assert response.status_code == 201
    response_json = response.json()
    assert response_json.get("id") is not None
    assert response_json.get("name") == "Alice"
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test startsTest environment ready, no requests sent yet—PASS
2Sends POST request to https://api.example.com/users with JSON body {"name": "Alice", "email": "alice@example.com", "age": 30}Request sent, waiting for response—PASS
3Receives response with status code 201 and JSON body containing user dataResponse received: {"id": "12345", "name": "Alice", "email": "alice@example.com", "age": 30}Check response status code is 201PASS
4Parses response JSON and verifies 'id' field is presentResponse JSON parsedAssert 'id' field is not NonePASS
5Verifies 'name' field in response JSON equals 'Alice'Response JSON parsedAssert 'name' == 'Alice'PASS
6Test ends successfullyAll assertions passed—PASS
Failure Scenario
Failing Condition: Response status code is not 201 or 'id' field missing in response JSON
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify after sending the POST request?
AResponse status code is 200 and response JSON contains 'email'
BResponse status code is 201 and response JSON contains 'id' and correct 'name'
CResponse status code is 404 and response JSON is empty
DResponse status code is 500 and response JSON contains error message
Key Result
Always verify both the HTTP status code and the response body content to ensure the API behaves as expected when sending JSON data.

Practice

(1/5)
1. What is the correct way to represent a JSON body with a user's name and age in Postman?
easy
A. {"name": "Alice", "age": 30}
B. {name: Alice, age: 30}
C. {'name': 'Alice', 'age': 30}
D. {name = "Alice", age = 30}

Solution

  1. Step 1: Identify JSON syntax rules

    JSON keys and string values must be in double quotes. Numbers do not need quotes.
  2. Step 2: Check each option for correct JSON format

    {"name": "Alice", "age": 30} uses double quotes correctly around keys and string values. The other options use incorrect quotes or syntax.
  3. Final Answer:

    {"name": "Alice", "age": 30} -> Option A
  4. Quick Check:

    JSON keys and strings use double quotes = A [OK]
Hint: Always use double quotes for keys and string values in JSON [OK]
Common Mistakes:
  • Using single quotes instead of double quotes
  • Omitting quotes around keys
  • Using equal signs instead of colons
2. Which of the following is a valid JSON body to send a list of colors in Postman?
easy
A. {"colors": ("red", "green", "blue")}
B. {colors: [red, green, blue]}
C. {"colors": "red", "green", "blue"}
D. {"colors": ["red", "green", "blue"]}

Solution

  1. Step 1: Understand JSON array syntax

    Arrays in JSON are enclosed in square brackets with comma-separated values, strings in double quotes.
  2. Step 2: Validate each option's array format

    {"colors": ["red", "green", "blue"]} correctly uses square brackets and double quotes. The other options are invalid: one uses parentheses, another is missing array brackets, and one lacks quotes around strings and keys.
  3. Final Answer:

    {"colors": ["red", "green", "blue"]} -> Option D
  4. Quick Check:

    Arrays use square brackets and double quotes = B [OK]
Hint: Use square brackets for arrays and double quotes for strings [OK]
Common Mistakes:
  • Using parentheses instead of square brackets
  • Missing quotes around string values
  • Omitting brackets for arrays
3. Given this JSON body sent in Postman:
{
  "user": {
    "id": 101,
    "active": true
  },
  "roles": ["admin", "editor"]
}

What is the value of user.active?
medium
A. null
B. true
C. false
D. "true"

Solution

  1. Step 1: Locate the key user.active in the JSON

    Inside the "user" object, the key "active" has the value true without quotes, meaning boolean true.
  2. Step 2: Understand JSON boolean values

    Boolean true is a literal, not a string. So the value is the boolean true, not the string "true".
  3. Final Answer:

    true -> Option B
  4. Quick Check:

    Boolean true is unquoted true = D [OK]
Hint: Booleans in JSON are unquoted true or false [OK]
Common Mistakes:
  • Confusing boolean true with string "true"
  • Assuming missing keys have null values
  • Misreading nested object structure
4. You wrote this JSON body in Postman:
{
  "product": "Book",
  "price": 12.99,
  "inStock": yes
}

What is the error in this JSON body?
medium
A. "price" should be a string in quotes
B. "inStock" value should be true or false without quotes
C. "inStock" value 'yes' is invalid, should be true or false
D. Missing comma after "price" value

Solution

  1. Step 1: Check the value of "inStock" key

    The value 'yes' is not a valid JSON boolean or string because it lacks quotes.
  2. Step 2: Identify correct boolean values in JSON

    JSON booleans are true or false without quotes. Strings must be in double quotes. 'yes' without quotes is invalid.
  3. Final Answer:

    "inStock" value 'yes' is invalid, should be true or false -> Option C
  4. Quick Check:

    Boolean values must be true/false unquoted = C [OK]
Hint: Use true/false for booleans, not yes/no or strings [OK]
Common Mistakes:
  • Using yes/no instead of true/false
  • Not quoting string values
  • Confusing number and string types
5. You want to send this JSON body in Postman to update a user's profile:
{
  "user": {
    "name": "Bob",
    "email": "bob@example.com",
    "preferences": {
      "notifications": false,
      "themes": ["dark", "blue"]
    }
  }
}

Which of the following changes will correctly add a new preference "language" set to "en" inside "preferences"?
hard
A. { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"], "language": "en" } } }
B. { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "language": "en" } }
C. { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "preferences.language": "en" } }
D. { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "preferences": { "language": "en" } } }

Solution

  1. Step 1: Understand nested object update in JSON

    To add a new key inside "preferences", it must be inside the existing "preferences" object.
  2. Step 2: Check each option's structure

    { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"], "language": "en" } } } adds "language": "en" inside "preferences" correctly. { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "language": "en" } } adds "language" outside "preferences". { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "preferences.language": "en" } } uses invalid key "preferences.language". { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"] }, "preferences": { "language": "en" } } } overwrites "preferences" object, losing existing keys.
  3. Final Answer:

    { "user": { "name": "Bob", "email": "bob@example.com", "preferences": { "notifications": false, "themes": ["dark", "blue"], "language": "en" } } } -> Option A
  4. Quick Check:

    Nested keys must be inside existing objects = A [OK]
Hint: Add new keys inside existing nested objects, not outside [OK]
Common Mistakes:
  • Adding keys outside nested objects
  • Using dot notation as key name
  • Overwriting entire nested objects accidentally
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