Response time assertions check if a web service or API responds quickly enough. This helps ensure users get fast results and a good experience.
When testing an API to make sure it responds within an acceptable time.
When monitoring a website to detect slowdowns or performance issues.
When comparing response times before and after code changes.
When setting performance goals for a new feature.
When verifying that a third-party service meets its promised speed.
Syntax
Postman
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
pm.test defines a test with a name and a function.
pm.response.responseTime gives the response time in milliseconds.
Examples
This test checks if the response time is under 500 milliseconds.
Postman
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
This test uses a different assertion style to check the response time is at most 1000 milliseconds.
Postman
pm.test("Response time is not more than 1000ms", () => {
pm.expect(pm.response.responseTime).to.be.at.most(1000);
});
This test ensures the response time is more than 100 milliseconds, useful for detecting too-fast responses that might indicate caching issues.
Postman
pm.test("Response time is greater than 100ms", () => {
pm.expect(pm.response.responseTime).to.be.above(100);
});
Sample Program
This test checks if the API response time is under 300 milliseconds. If the response is slower, the test will fail.
Postman
pm.test("Response time is less than 300ms", function () {
pm.expect(pm.response.responseTime).to.be.below(300);
});
OutputSuccess
Important Notes
Response time is measured in milliseconds (ms).
Set realistic thresholds based on your API and user expectations.
Too strict limits may cause false failures during network delays.
Summary
Response time assertions help check API speed.
Use pm.response.responseTime to get response time in Postman tests.
Choose thresholds that match your performance goals.
Practice
(1/5)
1. What does pm.response.responseTime represent in Postman tests?
easy
A. The size of the API response in bytes
B. The number of API requests sent
C. The HTTP status code of the response
D. The time taken by the API to respond in milliseconds
Solution
Step 1: Understand the property pm.response.responseTime
This property in Postman returns the time taken by the API server to send a response, measured in milliseconds.
Step 2: Differentiate from other response properties
It does not represent response size, status code, or request count, which are different properties.
Final Answer:
The time taken by the API to respond in milliseconds -> Option D
Quick Check:
Response time = API speed [OK]
Hint: Response time means how fast API replies in ms [OK]
Common Mistakes:
Confusing response time with response size
Mixing response time with HTTP status code
Thinking it counts number of requests
2. Which of the following is the correct syntax to assert that response time is less than 500 milliseconds in Postman test script?
easy
A. pm.test('Response time is less than 500ms', () => { pm.expect(pm.response.time).to.be.above(500); });
B. pm.test('Response time is less than 500ms', () => { pm.expect(pm.response.responseTime).to.be.below(500); });
C. pm.test('Response time is less than 500ms', () => { pm.expect(responseTime).to.equal(500); });
D. pm.test('Response time is less than 500ms', () => { pm.expect(pm.response.responseTime).to.be.above(500); });
Solution
Step 1: Identify correct property and assertion method
The correct property for response time is pm.response.responseTime. To check if it is less than 500ms, use to.be.below(500).
Step 2: Verify syntax correctness
pm.test('Response time is less than 500ms', () => { pm.expect(pm.response.responseTime).to.be.below(500); }); uses the correct property and assertion syntax. Other options use wrong properties or wrong comparison methods.
Final Answer:
pm.test('Response time is less than 500ms', () => { pm.expect(pm.response.responseTime).to.be.below(500); }); -> Option B
Quick Check:
Use pm.response.responseTime with to.be.below() [OK]
Hint: Use pm.response.responseTime with to.be.below() for less than checks [OK]
Common Mistakes:
Using wrong property like pm.response.time
Using to.be.above() instead of to.be.below()
Missing pm.expect wrapper
3. Given the following Postman test code, what will be the test result if the API response time is 450 ms?
pm.test('Response time is acceptable', () => {
pm.expect(pm.response.responseTime).to.be.below(400);
});
medium
A. Test will pass because 450 is below 400
B. Test will pass because 450 equals 400
C. Test will fail because 450 is not below 400
D. Test will error due to syntax mistake
Solution
Step 1: Understand the assertion condition
The test expects pm.response.responseTime to be below 400 milliseconds.
Step 2: Compare actual response time with condition
The actual response time is 450 ms, which is greater than 400 ms, so the condition fails.
Final Answer:
Test will fail because 450 is not below 400 -> Option C
Quick Check:
450 > 400 means test fails [OK]
Hint: Check if actual time is less than threshold to pass [OK]
Common Mistakes:
Assuming 450 is below 400
Confusing pass/fail logic
Ignoring comparison operator meaning
4. Identify the error in this Postman test script for response time assertion:
pm.test('Response time check', function() {
pm.expect(pm.response.responseTime).to.be.lessThan(300);
});
medium
A. The assertion method lessThan is incorrect in Postman tests
B. The function syntax is invalid
C. The property pm.response.responseTime does not exist
D. The test name is missing
Solution
Step 1: Check assertion method correctness
Postman uses Chai assertion library where the correct method to check less than is to.be.below(), not lessThan().
Step 2: Verify other parts of the script
The function syntax is valid, the property exists, and the test name is present.
Final Answer:
The assertion method lessThan is incorrect in Postman tests -> Option A
Quick Check:
Use to.be.below() not lessThan() [OK]
Hint: Use to.be.below() for less than, not lessThan() [OK]
Common Mistakes:
Using lessThan() instead of to.be.below()
Thinking lessThan() is valid Chai syntax
Ignoring assertion library conventions
5. You want to write a Postman test that fails if the response time is more than 1000 ms but passes if it is exactly 1000 ms or less. Which assertion code correctly implements this logic?
hard
A. pm.test('Response time check', () => { pm.expect(pm.response.responseTime).to.be.at.most(1000); });
B. pm.test('Response time check', () => { pm.expect(pm.response.responseTime).to.be.below(1000); });
C. pm.test('Response time check', () => { pm.expect(pm.response.responseTime).to.equal(1000); });
D. pm.test('Response time check', () => { pm.expect(pm.response.responseTime).to.be.above(1000); });
Solution
Step 1: Understand the requirement
The test should pass if response time is 1000 ms or less, and fail if more than 1000 ms.
Step 2: Choose correct assertion method
to.be.at.most(1000) checks if value is less than or equal to 1000, matching the requirement. to.be.below(1000) excludes 1000, to.equal(1000) only passes exactly 1000, and to.be.above(1000) is opposite.
Final Answer:
pm.test('Response time check', () => { pm.expect(pm.response.responseTime).to.be.at.most(1000); }); -> Option A
Quick Check:
Use to.be.at.most() for <= checks [OK]
Hint: Use to.be.at.most() for less than or equal assertions [OK]
Common Mistakes:
Using to.be.below() excludes equal value
Using to.equal() only matches exact value
Using to.be.above() reverses logic
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.