What will happen if the API response is {"name": "Bob"}?
medium
A. The test will pass because the name field exists.
B. The test will throw a syntax error.
C. The test will fail because the name is not 'Alice'.
D. The test will be skipped automatically.
Solution
Step 1: Understand the assertion in the test
The test expects the JSON response's 'name' field to equal 'Alice'.
Step 2: Compare expected and actual response
The actual response has 'name' as 'Bob', which does not match 'Alice', so the assertion fails.
Final Answer:
The test will fail because the name is not 'Alice'. -> Option C
Quick Check:
Expected 'Alice' but got 'Bob' = fail [OK]
Hint: Check if expected value matches actual response exactly [OK]
Common Mistakes:
Assuming test passes if field exists regardless of value
Thinking syntax error occurs for value mismatch
Believing tests skip on assertion failure
4. You wrote this Postman test:
pm.test('Response has userId', () => {
pm.expect(pm.response.json().userId).to.exist;
});
But the test always fails even when the response contains {"userId": 123}. What is the likely problem?
medium
A. The response might be a string, not JSON, causing json() to fail.
B. pm.response.json() is not called correctly inside the test.
C. The assertion should use .to.be.exist instead of .to.exist.
D. The test is missing a semicolon at the end.
Solution
Step 1: Check how pm.response.json() works
pm.response.json() parses the response body as JSON. If the response is not valid JSON, it will throw an error or return undefined.
Step 2: Consider response format causing test failure
If the response is a plain string or invalid JSON, json() fails, so userId is undefined and assertion fails.
Final Answer:
The response might be a string, not JSON, causing json() to fail. -> Option A
Quick Check:
Invalid JSON response breaks json() = test fail [OK]
Hint: Ensure response is valid JSON before using json() [OK]
Common Mistakes:
Thinking missing semicolon causes test failure
Using wrong assertion syntax like .to.be.exist
Assuming json() always succeeds regardless of response
5. You want to write an automated assertion in Postman that checks if the response JSON array has at least one object with status equal to "active". Which test code correctly validates this?
hard
A. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.some(item => item.status === 'active')).to.be.true;
});
B. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.filter(item => item.status === 'active')).to.exist;
});
C. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.find(item => item.status = 'active')).to.be.true;
});
D. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.includes('active')).to.be.true;
});
Solution
Step 1: Understand the goal of the assertion
The test must confirm at least one object in the array has status exactly 'active'.
Step 2: Analyze each option's correctness
pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.some(item => item.status === 'active')).to.be.true;
}); uses data.some() which returns true if any item matches the condition, then asserts true correctly. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.filter(item => item.status === 'active')).to.exist;
}); uses filter() but checks .to.exist which is always true for an array, not a boolean. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.find(item => item.status = 'active')).to.be.true;
}); uses assignment (=) instead of comparison (===), causing a bug. pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.includes('active')).to.be.true;
}); uses includes('active') which checks for string presence, not object property.
Final Answer:
pm.test('Has active status', () => {
const data = pm.response.json();
pm.expect(data.some(item => item.status === 'active')).to.be.true;
}); -> Option A
Quick Check:
Use some() + strict equality + expect true [OK]
Hint: Use some() to check condition on array items [OK]
Common Mistakes:
Using assignment (=) instead of comparison (===)
Checking filter() result existence instead of boolean