Challenge - 5 Problems
Condition Block Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Postman test script?
Consider this Postman test script that checks the response status code and sets a variable accordingly. What will be the value of the variable
testResult after running this script if the response status code is 404?Postman
if (pm.response.code === 200) { pm.variables.set('testResult', 'Success'); } else if (pm.response.code === 404) { pm.variables.set('testResult', 'Not Found'); } else { pm.variables.set('testResult', 'Other Error'); }
Attempts:
2 left
💡 Hint
Check the condition that matches the response code 404.
✗ Incorrect
The script checks if the response code is 200, then 404, else sets 'Other Error'. Since the response code is 404, the variable 'testResult' is set to 'Not Found'.
❓ assertion
intermediate2:00remaining
Which assertion correctly tests if the response JSON has a key 'status' with value 'ok'?
You want to write a Postman test that asserts the JSON response has a key
status equal to ok. Which option is the correct assertion?Attempts:
2 left
💡 Hint
Check which assertion compares the value exactly to 'ok'.
✗ Incorrect
Option B correctly asserts that the 'status' key equals the string 'ok'. Other options check for boolean true, undefined, or null which are incorrect.
🔧 Debug
advanced2:00remaining
Why does this Postman test script fail to set the variable correctly?
This script is intended to set the variable
result to 'Passed' if the response code is 201, but it never sets it. What is the error?Postman
if (pm.response.code = 201) { pm.variables.set('result', 'Passed'); } else { pm.variables.set('result', 'Failed'); }
Attempts:
2 left
💡 Hint
Check the operator used in the if condition.
✗ Incorrect
Using '=' assigns 201 to pm.response.code instead of comparing. The correct operator for comparison is '==='.
❓ framework
advanced2:00remaining
Which Postman test script correctly uses a condition block to check multiple response codes?
You want to write a Postman test that passes if the response code is 200 or 201, and fails otherwise. Which script correctly implements this?
Attempts:
2 left
💡 Hint
Check how to test if a value is one of multiple options.
✗ Incorrect
Option D uses the built-in 'oneOf' assertion to check if the response code is either 200 or 201. Option D works but is more verbose. Option D has a logic error, and C uses '&&' which can never be true.
🧠 Conceptual
expert2:00remaining
What is the main advantage of using condition blocks in Postman test scripts?
Why do testers use condition blocks (like if-else) in Postman test scripts when validating API responses?
Attempts:
2 left
💡 Hint
Think about how tests adapt to different responses.
✗ Incorrect
Condition blocks allow tests to adapt and check different scenarios depending on the response, making tests flexible and meaningful.