Bird
Raised Fist0
Postmantesting~15 mins

GET request in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify GET request to retrieve user data
Preconditions (2)
Step 1: Open Postman
Step 2: Create a new GET request
Step 3: Enter the URL https://jsonplaceholder.typicode.com/users/1
Step 4: Click the Send button
Step 5: Observe the response status code and body
✅ Expected Result: Response status code is 200 OK and response body contains user data with id 1
Automation Requirements - Postman test scripts
Assertions Needed:
Verify response status code is 200
Verify response body contains user id equals 1
Best Practices:
Use pm.response.to.have.status for status code assertion
Use pm.expect with JSON parsing for body content assertion
Keep test scripts simple and readable
Automated Solution
Postman
pm.test('Status code is 200', () => {
    pm.response.to.have.status(200);
});

pm.test('Response body has user id 1', () => {
    const jsonData = pm.response.json();
    pm.expect(jsonData.id).to.eql(1);
});

The first test checks that the response status code is exactly 200, which means the GET request was successful.

The second test parses the JSON response body and verifies that the user id field equals 1, confirming the correct user data is returned.

Using pm.test groups assertions with clear names, making test results easy to understand.

Common Mistakes - 3 Pitfalls
Not checking the status code before parsing the response body
{'mistake': 'Using incorrect assertion syntax like pm.expect(pm.response.status).to.equal(200)', 'why_bad': "pm.response.status is a string like 'OK', not the numeric code. This causes assertion failures.", 'correct_approach': 'Use pm.response.to.have.status(200) to correctly assert numeric status codes.'}
Hardcoding checks for fields that might not exist in the response
Bonus Challenge

Now add data-driven testing with 3 different user IDs (1, 5, 10) to verify each returns status 200 and correct user id

Show Hint

Practice

(1/5)
1. What is the main purpose of a GET request in Postman?
easy
A. To delete data from the server
B. To retrieve data from a server without changing it
C. To update existing data on the server
D. To send data to a server to create a new resource

Solution

  1. Step 1: Understand HTTP methods

    GET requests are designed to fetch or retrieve data from a server without modifying it.
  2. Step 2: Compare with other methods

    POST creates, PUT updates, DELETE removes data, so they are not for just retrieving data.
  3. Final Answer:

    To retrieve data from a server without changing it -> Option B
  4. Quick Check:

    GET = retrieve data [OK]
Hint: GET always fetches data, never changes it [OK]
Common Mistakes:
  • Confusing GET with POST or PUT methods
  • Thinking GET can modify data
  • Assuming GET deletes data
2. Which of the following is the correct way to add query parameters to a GET request URL in Postman?
easy
A. https://api.example.com/data?user=123&active=true
B. https://api.example.com/data/user=123&active=true
C. https://api.example.com/data#user=123&active=true
D. https://api.example.com/data/user/123/active/true

Solution

  1. Step 1: Identify query parameter syntax

    Query parameters start with a question mark (?) and separate key-value pairs with ampersands (&).
  2. Step 2: Check each URL format

    https://api.example.com/data?user=123&active=true uses ? and & correctly; others use incorrect separators or path segments.
  3. Final Answer:

    https://api.example.com/data?user=123&active=true -> Option A
  4. Quick Check:

    Query params start with ? and use & [OK]
Hint: Use ? for first param, & for others in URL [OK]
Common Mistakes:
  • Using slashes instead of ? and & for parameters
  • Using # which is for fragments, not parameters
  • Omitting the question mark before parameters
3. Given this GET request in Postman:
GET https://api.example.com/users?id=5

What is the expected status code if the user with id 5 exists?
medium
A. 404 Not Found
B. 500 Internal Server Error
C. 200 OK
D. 301 Moved Permanently

Solution

  1. Step 1: Understand HTTP status codes

    200 OK means the request succeeded and data is returned.
  2. Step 2: Match status with scenario

    If user id 5 exists, server returns 200 OK with user data; 404 means not found, 500 is server error, 301 is redirect.
  3. Final Answer:

    200 OK -> Option C
  4. Quick Check:

    Existing data returns 200 OK [OK]
Hint: 200 means success, 404 means missing data [OK]
Common Mistakes:
  • Confusing 404 with 200
  • Thinking 500 means data not found
  • Assuming 301 is success status
4. You send a GET request in Postman but receive a 400 Bad Request error. What is the most likely cause?
medium
A. The URL has incorrect or malformed query parameters
B. The server is down and not responding
C. The requested resource does not exist
D. The request method should be POST instead of GET

Solution

  1. Step 1: Understand 400 Bad Request meaning

    400 means the server could not understand the request due to invalid syntax.
  2. Step 2: Analyze causes

    Malformed query parameters cause bad syntax; server down causes no response (timeout), resource missing causes 404, wrong method causes 405.
  3. Final Answer:

    The URL has incorrect or malformed query parameters -> Option A
  4. Quick Check:

    400 = bad syntax in request [OK]
Hint: 400 means bad request syntax, check URL parameters [OK]
Common Mistakes:
  • Confusing 400 with server down errors
  • Assuming 400 means resource missing
  • Thinking method mismatch causes 400
5. You want to test a GET request in Postman that retrieves a list of products filtered by category and sorted by price ascending. Which URL format correctly applies both filters?
hard
A. https://api.example.com/products?category=electronics&sort=price-desc
B. https://api.example.com/products/category=electronics/sort=price_asc
C. https://api.example.com/products?category=electronics#sort=price_asc
D. https://api.example.com/products?category=electronics&sort=price_asc

Solution

  1. Step 1: Use correct query parameter syntax

    Parameters start with ? and separate keys with &. The keys and values must match expected API parameters.
  2. Step 2: Check parameter values for sorting

    https://api.example.com/products?category=electronics&sort=price_asc uses 'sort=price_asc' which clearly means ascending price. https://api.example.com/products?category=electronics&sort=price-desc uses 'price-desc' which is descending, not ascending.
  3. Final Answer:

    https://api.example.com/products?category=electronics&sort=price_asc -> Option D
  4. Quick Check:

    Use ? and & with correct param names and values [OK]
Hint: Use ? then & for multiple filters with correct values [OK]
Common Mistakes:
  • Using # instead of & for parameters
  • Mixing path segments with query parameters
  • Using wrong sort value (desc instead of asc)
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