🔠Want to automate and scale your Playwright end-to-end tests?
Head over to Better Stack and start monitoring in 5 minutes.
If you'd like to mock or emulate a specific date or time in your Playwright tests, you can use the following code:
test.beforeEach(async ({ page }) => {
const fakeNow = new Date('June 21 2026 13:00:00').valueOf();
await page.addInitScript(`{
Date = class extends Date {
constructor(...args) {
if (args.length === 0) {
super(${fakeNow});
} else {
super(...args);
}
}
}
const __DateNowOffset = ${fakeNow} - Date.now();
const __DateNow = Date.now;
Date.now = () => __DateNow() + __DateNowOffset;
}`);
});
This snippet overrides the JavaScript Date
object and Date.now() function to
simulate the current time as June 21, 2026, at 13:00:00. It ensures that any
usage of Date
or Date.now()
within the tested page reflects this specific
time, facilitating consistent testing of time-dependent features by mocking the
system time before each test case runs.
Thanks for reading, and happy coding!
Head over to Better Stack and start monitoring in 5 minutes.
Explore 9 essential Playwright best practices to enhance the reliability, efficiency, and effectiveness of your end-to-end tests
Checking or asserting on the value of any element is straightforward in Playwright
Learn to learn to develop and execute Playwright test scripts, utilize its time travel debugging capabilities, and proactively identify visual regressions in this hands-on guide
Learn how to change Playwright's default timeout settings for various tasks