Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a timestamp in software testing?
A timestamp is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day.
Click to reveal answer
beginner
How can you generate a current timestamp in Postman?
You can generate a current timestamp in Postman using JavaScript code like var timestamp = Date.now(); which returns milliseconds since January 1, 1970.
Click to reveal answer
intermediate
Why use timestamps in API testing?
Timestamps help track when requests are sent or responses received, ensure data freshness, and avoid replay attacks by making each request unique.
Click to reveal answer
intermediate
What is the difference between Unix timestamp and ISO 8601 format?
Unix timestamp is a number representing seconds or milliseconds since 1970-01-01 UTC. ISO 8601 is a readable string format like 2024-06-01T12:00:00Z representing date and time.
Click to reveal answer
intermediate
How to use timestamps in Postman pre-request scripts?
In pre-request scripts, you can create a timestamp and save it as an environment variable to use in your request, for example: pm.environment.set('currentTimestamp', Date.now());
Click to reveal answer
Which JavaScript method returns the current timestamp in milliseconds in Postman?
ADate.getTime()
BDate.now()
Cnew Date().timestamp()
DgetTimestamp()
✗ Incorrect
Date.now() returns the current time in milliseconds since January 1, 1970.
Why is it useful to add a timestamp to API requests?
ATo make requests unique and prevent replay attacks
BTo slow down the server
CTo change the API endpoint
DTo encrypt the request
✗ Incorrect
Adding timestamps helps ensure each request is unique and can prevent replay attacks.
Which format is a Unix timestamp?
AA date written as 'June 1, 2024'
BA string like '2024-06-01T12:00:00Z'
CA number representing seconds or milliseconds since 1970-01-01 UTC
DA random string of letters
✗ Incorrect
Unix timestamp is a numeric value counting seconds or milliseconds from 1970-01-01 UTC.
How do you store a timestamp in Postman environment variables?
Apm.response.set('timestamp', Date.now());
Bpm.variables.get('timestamp');
Cpm.request.timestamp = Date.now();
Dpm.environment.set('timestamp', Date.now());
✗ Incorrect
Use pm.environment.set() to save a value like a timestamp in environment variables.
What does Date.now() return?
AMilliseconds since January 1, 1970
BCurrent date as a string
CSeconds since January 1, 2000
DA formatted date object
✗ Incorrect
Date.now() returns the number of milliseconds elapsed since January 1, 1970 UTC.
Explain how to generate and use a timestamp in Postman pre-request scripts.
Think about JavaScript code and environment variables in Postman.
You got /3 concepts.
Describe why timestamps are important in API testing and give an example.
Consider security and data freshness.
You got /4 concepts.
Practice
(1/5)
1. What does Date.now() return in Postman scripts?
easy
A. The current date as a string in format YYYY-MM-DD
B. The current time zone offset in minutes
C. The current timestamp in milliseconds since January 1, 1970
D. The current time in seconds since midnight
Solution
Step 1: Understand Date.now() function
Date.now() returns the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC.
Step 2: Compare options with this definition
Only The current timestamp in milliseconds since January 1, 1970 correctly describes this behavior as a timestamp in milliseconds.
Final Answer:
The current timestamp in milliseconds since January 1, 1970 -> Option C
Quick Check:
Date.now() = milliseconds timestamp [OK]
Hint: Remember: Date.now() gives milliseconds since 1970 [OK]
Common Mistakes:
Thinking Date.now() returns a formatted date string
Confusing milliseconds with seconds
Assuming it returns time zone info
2. Which of the following is the correct way to save the current timestamp in a Postman environment variable?
easy
A. pm.environment.set('currentTime', Date.now());
B. pm.environment.get('currentTime', Date.now());
C. pm.environment.save('currentTime', Date.now());
D. pm.environment.store('currentTime', Date.now());
Solution
Step 1: Identify the correct method to set environment variables
In Postman scripts, pm.environment.set(key, value) is used to save a variable.
Step 2: Check each option's method name
Only pm.environment.set('currentTime', Date.now()); uses the correct method set with the right syntax.
Final Answer:
pm.environment.set('currentTime', Date.now()); -> Option A
Quick Check:
Use pm.environment.set() to save variables [OK]
Hint: Use pm.environment.set() to save variables [OK]
Common Mistakes:
Using pm.environment.get() to save variables
Using non-existent methods like save() or store()
Forgetting to pass both key and value
3. What will be the output of this Postman test script snippet?
let start = Date.now();
pm.environment.set('startTime', start);
let end = Date.now();
pm.environment.set('endTime', end);
let duration = pm.environment.get('endTime') - pm.environment.get('startTime');
console.log(duration);
medium
A. A negative number due to subtraction order
B. Zero, because start and end are set at the same time
C. Undefined, because variables are not saved correctly
D. A positive number representing milliseconds elapsed between start and end
Solution
Step 1: Understand the timestamp capture
start and end capture timestamps at two different moments, so end ≥ start.
Step 2: Calculate duration
Subtracting start from end gives the elapsed time in milliseconds, which is positive or zero.
Final Answer:
A positive number representing milliseconds elapsed between start and end -> Option D
Quick Check:
duration = end - start ≥ 0 [OK]
Hint: Subtract start from end timestamps for elapsed time [OK]
Common Mistakes:
Assuming start and end are identical
Confusing subtraction order causing negative result
Thinking variables are not saved properly
4. You wrote this Postman script to save a timestamp:
pm.environment.set('timeStamp', Date.now)
Why does this cause an error or unexpected behavior?
medium
A. Date.now is a function and needs parentheses to execute
B. pm.environment.set() cannot save numbers
C. The variable name 'timeStamp' is reserved
D. Date.now returns a string, not a number
Solution
Step 1: Check usage of Date.now
Date.now is a function reference, not the timestamp itself.
Step 2: Identify missing parentheses
To get the current timestamp, you must call the function with (), like Date.now().
Final Answer:
Date.now is a function and needs parentheses to execute -> Option A
Quick Check:
Call Date.now() with () to get timestamp [OK]
Hint: Always add () to call Date.now() function [OK]
Common Mistakes:
Forgetting parentheses after Date.now
Thinking pm.environment.set can't save numbers
Assuming variable names cause errors
5. You want to measure the response time of an API request in Postman using timestamps. Which script correctly captures the start time before the request and calculates the duration after the response?
hard
A. In Tests: pm.environment.set('startTime', Date.now()); In Pre-request Script: let duration = Date.now() - pm.environment.get('startTime');
B. In Pre-request Script: pm.environment.set('startTime', Date.now()); In Tests: let duration = Date.now() - pm.environment.get('startTime');
pm.test('Response time', () => pm.expect(duration).to.be.below(2000));
C. In Pre-request Script: let duration = Date.now() - pm.environment.get('startTime'); In Tests: pm.environment.set('startTime', Date.now());
D. In Tests: let duration = pm.environment.get('startTime') - Date.now(); In Pre-request Script: pm.environment.set('startTime', Date.now());
Solution
Step 1: Capture start time before request
The Pre-request Script runs before the API call, so saving startTime there is correct.
Step 2: Calculate duration after response
The Tests script runs after the response, so subtracting startTime from current time gives elapsed time.
Final Answer:
captures the start time before the request and calculates the duration after the response -> Option B