Bird
Raised Fist0
Postmantesting~15 mins

REST API fundamentals review in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify GET and POST requests on REST API
Preconditions (2)
Step 1: Send a GET request to https://jsonplaceholder.typicode.com/posts/1
Step 2: Verify the response status code is 200
Step 3: Verify the response body contains userId, id, title, and body fields
Step 4: Send a POST request to https://jsonplaceholder.typicode.com/posts with JSON body {"title": "foo", "body": "bar", "userId": 1}
Step 5: Verify the response status code is 201
Step 6: Verify the response body contains the sent title, body, userId and a new id field
✅ Expected Result: GET request returns status 200 with correct fields; POST request returns status 201 with correct fields including new id
Automation Requirements - Postman test scripts
Assertions Needed:
Response status code is 200 for GET
Response body contains keys userId, id, title, body for GET
Response status code is 201 for POST
Response body contains keys title, body, userId, id for POST
Best Practices:
Use pm.response.to.have.status for status code assertions
Use pm.expect with JSON parsing for body content assertions
Separate tests clearly for GET and POST requests
Use descriptive test names
Avoid hardcoding values except for test data
Automated Solution
Postman
pm.test('GET /posts/1 returns status 200', () => {
    pm.response.to.have.status(200);
});

pm.test('GET /posts/1 response has required fields', () => {
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('userId');
    pm.expect(jsonData).to.have.property('id');
    pm.expect(jsonData).to.have.property('title');
    pm.expect(jsonData).to.have.property('body');
});

// For POST request, create a new request in Postman with method POST and URL https://jsonplaceholder.typicode.com/posts
// Set body to raw JSON:
// {"title": "foo", "body": "bar", "userId": 1}

pm.test('POST /posts returns status 201', () => {
    pm.response.to.have.status(201);
});

pm.test('POST /posts response has sent fields and new id', () => {
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('title', 'foo');
    pm.expect(jsonData).to.have.property('body', 'bar');
    pm.expect(jsonData).to.have.property('userId', 1);
    pm.expect(jsonData).to.have.property('id');
});

This Postman test script verifies the REST API fundamentals by checking GET and POST requests.

First, it checks that the GET request to /posts/1 returns status 200 and the expected fields in the JSON response.

Then, for the POST request, it verifies the status code 201 and that the response body contains the same data sent plus a new id field.

Using pm.test and pm.expect ensures clear, readable assertions. Parsing the response JSON allows checking specific fields.

This approach helps beginners understand how to automate REST API tests in Postman with clear, simple assertions.

Common Mistakes - 4 Pitfalls
Not checking the response status code before validating the body
Hardcoding expected values without verifying the API contract
Using incorrect assertion syntax like pm.response.status instead of pm.response.to.have.status
Mixing GET and POST tests in one test block
Bonus Challenge

Now add data-driven testing with 3 different POST request bodies to verify the API handles multiple inputs correctly

Show Hint

Practice

(1/5)
1. Which HTTP method is typically used to retrieve data from a REST API without changing it?
easy
A. POST
B. GET
C. PUT
D. DELETE

Solution

  1. Step 1: Understand HTTP methods

    GET is used to request data without modifying it, while POST, PUT, DELETE change data.
  2. Step 2: Identify method for data retrieval

    Since we want to retrieve data without changes, GET is the correct method.
  3. Final Answer:

    GET -> Option B
  4. Quick Check:

    Retrieve data = GET [OK]
Hint: GET is for reading data, others modify it [OK]
Common Mistakes:
  • Confusing POST with GET for data retrieval
  • Using DELETE to get data
  • Thinking PUT retrieves data
2. Which of the following is the correct way to set the HTTP method to POST in Postman?
easy
A. Add 'method: POST' in the Headers tab
B. Type 'POST' in the URL field
C. Select POST from the dropdown next to the URL input
D. Use the Body tab to set method to POST

Solution

  1. Step 1: Locate HTTP method selector in Postman

    Postman has a dropdown menu next to the URL field to choose HTTP methods.
  2. Step 2: Confirm correct method selection

    Selecting POST from this dropdown sets the request method properly.
  3. Final Answer:

    Select POST from the dropdown next to the URL input -> Option C
  4. Quick Check:

    Method dropdown sets HTTP method [OK]
Hint: Use dropdown near URL to pick method [OK]
Common Mistakes:
  • Typing method name in URL field
  • Trying to set method in Headers
  • Confusing Body tab with method setting
3. What will be the status code returned by a successful DELETE request in a REST API?
medium
A. 404 Not Found
B. 201 Created
C. 200 OK
D. 204 No Content

Solution

  1. Step 1: Understand DELETE success responses

    A successful DELETE often returns 204 No Content, meaning the resource was deleted and no content is returned.
  2. Step 2: Compare other status codes

    200 OK means success with content, 201 Created is for new resource creation, 404 Not Found means resource missing.
  3. Final Answer:

    204 No Content -> Option D
  4. Quick Check:

    DELETE success = 204 No Content [OK]
Hint: DELETE success usually returns 204 No Content [OK]
Common Mistakes:
  • Choosing 201 Created for DELETE
  • Assuming 200 OK always returns content
  • Confusing 404 with success
4. You send a POST request in Postman but get a 405 Method Not Allowed error. What is the most likely cause?
medium
A. The API endpoint does not support POST method
B. The URL is incorrect
C. The request body is empty
D. The server is down

Solution

  1. Step 1: Understand 405 error meaning

    405 Method Not Allowed means the server recognizes the URL but the HTTP method used is not supported on that endpoint.
  2. Step 2: Eliminate other options

    Incorrect URL usually gives 404, empty body usually does not cause 405, server down causes no response or 5xx errors.
  3. Final Answer:

    The API endpoint does not support POST method -> Option A
  4. Quick Check:

    405 = Method not allowed on endpoint [OK]
Hint: 405 means method not allowed on URL [OK]
Common Mistakes:
  • Confusing 405 with 404 Not Found
  • Assuming empty body causes 405
  • Thinking server down causes 405
5. You want to test a REST API endpoint that updates user data. Which combination of HTTP method and Postman feature is best to use?
hard
A. PUT method with Body tab to send JSON data
B. GET method with Params tab to send JSON data
C. DELETE method with Headers tab to send JSON data
D. POST method with URL query parameters

Solution

  1. Step 1: Identify method for updating data

    PUT is the standard HTTP method to update existing data in REST APIs.
  2. Step 2: Choose Postman feature to send data

    The Body tab allows sending JSON data payload, which is needed to update user data.
  3. Step 3: Evaluate other options

    GET does not update data, DELETE removes data, and URL query parameters are not suitable for sending JSON update data.
  4. Final Answer:

    PUT method with Body tab to send JSON data -> Option A
  5. Quick Check:

    Update data = PUT + Body JSON [OK]
Hint: Use PUT with Body for updates in Postman [OK]
Common Mistakes:
  • Using GET to update data
  • Sending JSON in URL parameters
  • Confusing DELETE with update
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