Reusable test scripts are pieces of code written once and used multiple times across different API requests or collections to avoid repetition and maintain consistency.
Click to reveal answer
beginner
How can you create reusable test scripts in Postman?
You can create reusable test scripts by writing them in the Collection or Folder 'Tests' tab, or by using the 'Pre-request Script' or 'Tests' tabs and calling them via the 'pm' API in individual requests.
Click to reveal answer
beginner
Why is using reusable test scripts beneficial?
Reusable test scripts save time, reduce errors, and make maintenance easier because you update the script once and it applies everywhere it is used.
Click to reveal answer
intermediate
What is an example of a reusable test script in Postman?
A reusable test script could check if the response status code is 200 and if the response time is less than 500ms. This script can be placed in a collection to run for all requests.
Click to reveal answer
intermediate
How do environment and global variables help in reusable test scripts?
Environment and global variables allow reusable scripts to work dynamically by using variable values that can change per environment or globally, making scripts flexible and adaptable.
Click to reveal answer
Where can you place reusable test scripts in Postman?
AIn the Postman console
BOnly inside individual requests
CIn the Postman settings
DIn the Collection or Folder 'Tests' tab
✗ Incorrect
Reusable test scripts are best placed in the Collection or Folder 'Tests' tab to apply them to multiple requests.
What is a key benefit of reusable test scripts?
AThey reduce code duplication and ease maintenance
BThey increase test execution time
CThey require rewriting for each request
DThey only work with one API endpoint
✗ Incorrect
Reusable test scripts reduce code duplication and make maintenance easier by centralizing common test logic.
Which Postman feature helps make reusable scripts dynamic across environments?
ARequest headers
BPostman console logs
CGlobal and environment variables
DResponse body
✗ Incorrect
Global and environment variables allow reusable scripts to adapt to different environments dynamically.
How do you call reusable test scripts in individual requests?
ABy copying and pasting the code manually
BBy using the pm API and placing scripts in Collection or Folder tests
CBy exporting the script as a file
DBy running Postman in debug mode
✗ Incorrect
Reusable scripts are placed in Collection or Folder tests and automatically run for requests inside them using the pm API.
What does a reusable test script typically check?
AResponse status, response time, and response body structure
BOnly the request URL
CThe Postman app version
DThe user's computer specs
✗ Incorrect
Reusable test scripts commonly check response status codes, response times, and response body structure to validate API behavior.
Explain how reusable test scripts improve API testing efficiency in Postman.
Think about saving time and avoiding repeated work.
You got /4 concepts.
Describe how environment variables work with reusable test scripts in Postman.
Consider how scripts can run in different settings without changes.
You got /4 concepts.
Practice
(1/5)
1. What is the main benefit of using reusable test scripts in Postman?
easy
A. They save time and reduce errors by avoiding repeated code.
B. They make the tests run slower but more secure.
C. They require writing the same code multiple times.
D. They only work with GET requests.
Solution
Step 1: Understand the purpose of reusable scripts
Reusable test scripts help avoid writing the same code repeatedly, which saves time and reduces mistakes.
Step 2: Identify the correct benefit
Among the options, only saving time and reducing errors matches the purpose of reusable scripts.
Final Answer:
They save time and reduce errors by avoiding repeated code. -> Option A
Quick Check:
Reusable scripts = save time and reduce errors [OK]
Hint: Reusable scripts avoid repeating code, saving time [OK]
Common Mistakes:
Thinking reusable scripts slow down tests
Believing reusable scripts only work for GET requests
Confusing reusable scripts with writing duplicate code
2. Which of the following is the correct way to define a reusable function in a Postman test script?
easy
A. func checkStatus() { pm.test('Status is 200', () => pm.response.to.have.status(200)); }
B. def checkStatus() { pm.test('Status is 200', () => pm.response.to.have.status(200)); }
C. checkStatus() => { pm.test('Status is 200', () => pm.response.to.have.status(200)); }
D. function checkStatus() { pm.test('Status is 200', () => pm.response.to.have.status(200)); }
Solution
Step 1: Recall JavaScript function syntax
In Postman scripts, JavaScript functions are defined using the keyword function followed by the function name and parentheses.
Step 2: Identify the correct syntax
function checkStatus() { pm.test('Status is 200', () => pm.response.to.have.status(200)); } uses the correct JavaScript syntax. Options A, B, and C use invalid keywords or syntax not supported in JavaScript.
Final Answer:
function checkStatus() { pm.test('Status is 200', () => pm.response.to.have.status(200)); } -> Option D
Quick Check:
JavaScript function syntax = function name() {} [OK]
Hint: Use 'function' keyword to define reusable functions [OK]
Common Mistakes:
Using Python or other language syntax like 'def'
Using arrow function without assignment
Using unsupported keywords like 'func'
3. Given the following Postman test script, what will be the output when the response status is 404?
function checkStatus() {
pm.test('Status is 200', () => pm.response.to.have.status(200));
}
checkStatus();
medium
A. Test passes because the function runs without error.
B. Test fails because the response status is not 200.
C. Syntax error because function is not called correctly.
D. Test is skipped because status 404 is ignored.
Solution
Step 1: Understand the test logic
The function checkStatus runs a test that expects the response status to be 200.
Step 2: Analyze the response status
The actual response status is 404, which does not match 200, so the test will fail.
Final Answer:
Test fails because the response status is not 200. -> Option B
Quick Check:
Expected 200, got 404 = test fails [OK]
Hint: Test passes only if response status matches expected [OK]
Common Mistakes:
Assuming function call causes syntax error
Thinking test passes if function runs
Believing 404 status is ignored automatically
4. You wrote this reusable test function in Postman but it does not run as expected:
function checkResponse() {
pm.test('Response time is less than 200ms', () => {
pm.expect(pm.response.responseTime).to.be.below(200);
});
}
checkResponse
What is the error and how to fix it?
medium
A. Missing parentheses when calling the function; add () after checkResponse.
B. Incorrect assertion syntax; replace 'to.be.below' with 'to.be.lessThan'.
C. Function name is invalid; rename to 'check_response'.
D. Response time property is wrong; use 'pm.response.time' instead.
Solution
Step 1: Check function call syntax
The function checkResponse is defined correctly but called without parentheses, so it does not execute.
Step 2: Fix the function call
Adding parentheses () after checkResponse calls the function properly and runs the test.
Final Answer:
Missing parentheses when calling the function; add () after checkResponse. -> Option A
Quick Check:
Function call needs () to execute [OK]
Hint: Always add () to call functions in JavaScript [OK]
Common Mistakes:
Confusing assertion syntax with chai library
Changing function names unnecessarily
Using wrong response time property
5. You want to reuse a test that checks if a JSON response has a specific key with a non-empty value. Which reusable function correctly implements this in Postman?
hard
A. function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()[key]).to.exist;
});
}
B. function checkKeyExists(key) {
pm.test('Response has key', () => {
pm.expect(pm.response.json()).to.include.key(key);
});
}
C. function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.property(key).that.is.not.empty;
});
}
D. function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.key(key).not.empty;
});
}
Solution
Step 1: Understand the requirement
The function must check that the JSON response has the given key and that its value is not empty.
Step 2: Analyze each option
function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.property(key).that.is.not.empty;
});
} uses correct chai assertions: to.have.property(key).that.is.not.empty which checks key existence and non-empty value. function checkKeyExists(key) {
pm.test('Response has key', () => {
pm.expect(pm.response.json()).to.include.key(key);
});
} uses incorrect assertion to.include.key which is invalid. function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()[key]).to.exist;
});
} checks only existence but not if value is non-empty. function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.key(key).not.empty;
});
} uses invalid chaining to.have.key(key).not.empty.
Final Answer:
function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.property(key).that.is.not.empty;
});
} -> Option C
Quick Check:
Check key exists and not empty = function checkKeyExists(key) {
pm.test(`Response has key ${key}`, () => {
pm.expect(pm.response.json()).to.have.property(key).that.is.not.empty;
});
} [OK]
Hint: Use 'to.have.property(key).that.is.not.empty' for key and value check [OK]
Common Mistakes:
Using invalid chai assertion methods
Checking only key existence without value
Incorrect chaining of assertions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.