Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

API test automation concepts in Testing Fundamentals - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to send a GET request using the requests library.

Testing Fundamentals
response = requests.[1]('https://api.example.com/data')
Drag options to blanks, or click blank then click option'
Aget
Bpost
Cput
Ddelete
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'post' instead of 'get' for retrieving data.
2fill in blank
medium

Complete the code to check if the response status code is 200 (OK).

Testing Fundamentals
assert response.[1] == 200
Drag options to blanks, or click blank then click option'
Astatus_code
Btext
Cjson
Dheaders
Attempts:
3 left
💡 Hint
Common Mistakes
Checking response.text instead of response.status_code.
3fill in blank
hard

Fix the error in the code to parse JSON response correctly.

Testing Fundamentals
data = response.[1]()
Drag options to blanks, or click blank then click option'
Atext
Bcontent
Cjson
Dstatus_code
Attempts:
3 left
💡 Hint
Common Mistakes
Using response.text instead of response.json() to parse JSON.
4fill in blank
hard

Fill both blanks to send a POST request with JSON payload and check status code.

Testing Fundamentals
response = requests.[1]('https://api.example.com/create', json=[2])
assert response.status_code == 201
Drag options to blanks, or click blank then click option'
Apost
B{'name': 'test'}
C{'id': 1}
Dget
Attempts:
3 left
💡 Hint
Common Mistakes
Using GET method instead of POST.
Passing payload as string instead of dictionary.
5fill in blank
hard

Fill all three blanks to extract a value from JSON response and assert it equals expected.

Testing Fundamentals
data = response.[1]()
value = data.get('[2]')
assert value [3] 'success'
Drag options to blanks, or click blank then click option'
Ajson
Bstatus
C==
Dtext
Attempts:
3 left
💡 Hint
Common Mistakes
Using response.text instead of response.json().
Wrong key name in get().
Using assignment '=' instead of comparison '=='.

Practice

(1/5)
1. What is the main purpose of API test automation?
easy
A. To design the user interface of an application
B. To check if different software parts communicate correctly
C. To write code for the backend server
D. To create database schemas

Solution

  1. Step 1: Understand API test automation goal

    API test automation focuses on verifying communication between software parts via APIs.
  2. Step 2: Eliminate unrelated options

    Designing UI, writing backend code, and creating database schemas are not related to API test automation.
  3. Final Answer:

    To check if different software parts communicate correctly -> Option B
  4. Quick Check:

    API test automation = communication check [OK]
Hint: API tests check communication, not UI or database [OK]
Common Mistakes:
  • Confusing API testing with UI testing
  • Thinking API tests create backend code
  • Mixing API testing with database design
2. Which of the following is the correct way to check the HTTP status code in an automated API test using Python's requests library?
easy
A. response.code == 200
B. response.status == 200
C. response.status_code == 200
D. response.statusCode == 200

Solution

  1. Step 1: Recall Python requests response attribute

    The correct attribute to get HTTP status code is status_code.
  2. Step 2: Match options with correct attribute

    Only response.status_code == 200 uses the correct attribute and syntax.
  3. Final Answer:

    response.status_code == 200 -> Option C
  4. Quick Check:

    requests status code = status_code [OK]
Hint: Use response.status_code to check HTTP status in Python [OK]
Common Mistakes:
  • Using incorrect attribute names like status or code
  • Confusing camelCase with snake_case
  • Forgetting double equals for comparison
3. Given this Python code snippet for an API test:
import requests
response = requests.get('https://api.example.com/data')
print(response.json()['status'])

What will be the output if the API response JSON is {"status": "success", "data": []}?
medium
A. "success"
B. KeyError
C. {'status': 'success'}
D. success

Solution

  1. Step 1: Understand response.json() output

    response.json() returns a Python dictionary parsed from JSON.
  2. Step 2: Access the 'status' key value

    Accessing ['status'] returns the string "success" without quotes in print output.
  3. Final Answer:

    success -> Option D
  4. Quick Check:

    Print dict value = string without quotes [OK]
Hint: Print of string value shows without quotes in Python [OK]
Common Mistakes:
  • Expecting quotes around printed string
  • Confusing JSON string with Python print output
  • Assuming KeyError without checking keys
4. You wrote this API test code snippet:
response = requests.post('https://api.example.com/login', data={'user': 'admin', 'pass': '1234'})
assert response.status_code = 200

What is the error and how to fix it?
medium
A. Use '==' for comparison in assert, not '='
B. Change 'data' to 'json' in requests.post() call
C. Use 'response.status' instead of 'response.status_code'
D. Add parentheses around assert condition

Solution

  1. Step 1: Identify syntax error in assert statement

    The assert statement uses '=' which is assignment, not comparison.
  2. Step 2: Correct assert syntax

    Replace '=' with '==' to compare response.status_code to 200.
  3. Final Answer:

    Use '==' for comparison in assert, not '=' -> Option A
  4. Quick Check:

    Assert needs '==' for comparison [OK]
Hint: Assert uses '==' to compare, '=' assigns [OK]
Common Mistakes:
  • Using '=' instead of '==' in assert
  • Confusing 'data' and 'json' parameters (not error here)
  • Using wrong attribute like response.status
5. You want to automate testing an API that returns a list of users with their ages. You need to verify the API only returns users aged 18 or older. Which approach best fits this requirement?
hard
A. Send a GET request, parse JSON response, then assert all ages >= 18
B. Send a POST request with age filter, then check status code 200
C. Check only the first user's age in the response
D. Verify the response content type is 'text/html'

Solution

  1. Step 1: Understand requirement to verify all users' ages

    We must check every user's age is 18 or older in the response data.
  2. Step 2: Choose approach that parses response and asserts condition on all users

    Sending GET, parsing JSON, and asserting all ages >= 18 matches the need.
  3. Final Answer:

    Send a GET request, parse JSON response, then assert all ages >= 18 -> Option A
  4. Quick Check:

    Check all data items for condition [OK]
Hint: Check all items, not just one, for correct data [OK]
Common Mistakes:
  • Checking only first user age
  • Using wrong HTTP method for retrieval
  • Verifying wrong response content type
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